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

import NodeGraphView as NodeGraphView
import NodegraphAPI as NodegraphAPI
import Nodes2DAPI as Nodes2DAPI
import Nodes3DAPI as Nodes3DAPI
import PyQt5.QtWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import UI4 as UI4
import Utils as Utils
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class NodePopupMenu(PyQt5.QtWidgets.QMenu):
    def __init__(self, node: NodegraphAPI.Node, port: NodegraphAPI.Port, *args) -> None: ...
    def _NodePopupMenu__doActions(self): ...
    def _NodePopupMenu__doFlipbookNode(self, *args): ...
    def _NodePopupMenu__doGenerateAndCueOutlineFile(self): ...
    def _NodePopupMenu__doGenerateOutlineFile(self): ...
    def _NodePopupMenu__doParameters(self): ...
    def _NodePopupMenu__nodeDeleteHandler(self, eventType, eventID, node: NodegraphAPI.Node, *args, **kwargs): ...
    def _NodePopupMenu__regenerateThumbnail(self): ...
    def _NodePopupMenu__toggleThumbnail(self): ...

class PortRenameWidget(PyQt5.QtWidgets.QLineEdit):
    _baseStyle: ClassVar[str] = ...
    _textEndPadding: ClassVar[int] = ...
    _warningStyle: ClassVar[str] = ...
    def __init__(self, parent, port: NodegraphAPI.Port, coords) -> None: ...
    def _PortRenameWidget__acceptChanges(self): ...
    def _PortRenameWidget__getExternalPort(self): ...
    def _PortRenameWidget__isInputSidebar(self): ...
    def _PortRenameWidget__nameConflicts(self, node: NodegraphAPI.Node, newName): ...
    def _PortRenameWidget__renamePort(self, newName): ...
    def _PortRenameWidget__resizeToContents(self, text): ...
    def _PortRenameWidget__textEdited(self, text): ...
    def focusOutEvent(self, _event: Incomplete | None = ...): ...
    def setLeafNameSelected(self): ...
    def show(self): ...
    def sideBarKey(self): ...

class ShadingPortPopupMenu(PyQt5.QtWidgets.QMenu):
    def __init__(self, port: NodegraphAPI.Port, parent, portCoords) -> None: ...
    def _ShadingPortPopupMenu__buildJumpActions(self): ...
    def _ShadingPortPopupMenu__deletePort(self): ...
    def _ShadingPortPopupMenu__isInputPort(self): ...
    def _ShadingPortPopupMenu__jump(self): ...
    def _ShadingPortPopupMenu__rename(self): ...

class _PageState:
    def __init__(self, dataStr) -> None: ...
    def _PageState__getPathString(self, path): ...
    def _PageState__getStateString(self, state): ...
    def asDataString(self): ...
    def getPathsFromPortName(self, portName): ...
    def set(self, fullPortName, state: Incomplete | None = ...): ...
