# mypy: disable-error-code="misc, override, attr-defined, no-redef, assignment"

import DrawingModule as DrawingModule
import NodegraphAPI as NodegraphAPI
import QT4GLLayerStack as QT4GLLayerStack
import QT4GLLayerStack.LayerStack
import PyQt5.QtGui as QtGui
import Utils as Utils
from UI4.KatanaPrefs.KatanaPrefsObject import KatanaPrefs as KatanaPrefs
from _typeshed import Incomplete
from typing import Set, Tuple

NODEGRAPH_DIMNONCONTRIBUTINGNODES: str
NODEGRAPH_DIMUNCONNECTEDTOVIEWNODE: str
__NODE_TYPES_PARAM_CHANGE_UPDATES_DIM: tuple

class NodeDrawingLayer(QT4GLLayerStack.LayerStack.Layer):
    def __init__(self, *args, **kwargs) -> None: ...
    def _NodeDrawingLayer__node_attributeEditorUpdateState_cb(self, eventType, eventID, node: NodegraphAPI.Node, *args, **kwargs): ...
    def _NodeDrawingLayer__node_create_cb(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeDrawingLayer__node_delete_cb(self, eventType, eventID, node: NodegraphAPI.Node, *args, **kwargs): ...
    def _NodeDrawingLayer__node_setBypassed_cb(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeDrawingLayer__node_setParent_cb(self, eventType, eventID, node: NodegraphAPI.Node, *args, **kwargs): ...
    def _NodeDrawingLayer__node_setShapeAttributes_cb(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeDrawingLayer__node_setState_cb(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeDrawingLayer__node_setViewed_cb(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeDrawingLayer__node_thumbnailEnabled_cb(self, eventType, eventID, node: NodegraphAPI.Node, enabled, **kwargs): ...
    def _NodeDrawingLayer__node_thumbnailError_cb(self, eventType, eventID, nodeName, cacheID, **kwargs): ...
    def _NodeDrawingLayer__node_thumbnailReady_cb(self, eventType, eventID, nodeName, cacheID, image, **kwargs): ...
    def _NodeDrawingLayer__on_event_idle(self, *args, **kwargs): ...
    def _NodeDrawingLayer__on_nodegraph_loadEnd(self, eventType, eventID): ...
    def _NodeDrawingLayer__on_nodegraph_setCurrentTimeIntermediate(self, eventType: str | None, eventID: object, currentTime: float): ...
    def _NodeDrawingLayer__parameter_finalizeValue_cb(self, args): ...
    def _NodeDrawingLayer__port_setState_cb(self, eventType, eventID, **kwargs): ...
    def _NodeDrawingLayer__registerDirtyCallbacks(self, enabled): ...
    def _NodeDrawingLayer__updateNodeDimming(self): ...
    def _NodeDrawingLayer__viewMaskLinkUpdate_cb(self, args: Incomplete | None = ...): ...
    def idleUpdate(self): ...
    def paintGL(self): ...

def _nodeCanChangeGraphstate(node: Node3D) -> bool: ...
