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

import UI4.App as App
import AttributeEditorTreeWidget
import UI4.FormMaster as FormMaster
import KatanaResources as KatanaResources
import UI4.FormMaster.Editors.NodeGroup as NodeGroup
import NodegraphAPI as NodegraphAPI
import PyQt5.QtCore
import PyQt5.QtGui
import PyQt5.QtWidgets
import QT4FormWidgets as QT4FormWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import ResourceFiles as ResourceFiles
import Nodes3DAPI.ScenegraphManager as ScenegraphManager
import UI4 as UI4
import UI4.FormMaster.Editors.NodeGroup
import Utils as Utils
import UI4.Widgets as Widgets
from ResourceFiles.IconManager import ResourceManager as ResourceManager
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class AttributeEditorNodeGroupFormWidget(UI4.FormMaster.Editors.NodeGroup.NodeGroupFormWidget):
    def __init__(self, parent, valuePolicy, widgetFactory) -> None: ...
    def _AttributeEditorNodeGroupFormWidget__changeExclusivity(self, event): ...
    def _AttributeEditorNodeGroupFormWidget__checkForOverlappingAttributes(self, selectedAttributeDict, selectedSgLocs): ...
    def _AttributeEditorNodeGroupFormWidget__contentsMousePressCallback(self, item, col): ...
    def _AttributeEditorNodeGroupFormWidget__contextMenuCallback(self, pos): ...
    def _AttributeEditorNodeGroupFormWidget__copyToCommonRoot(self): ...
    def _AttributeEditorNodeGroupFormWidget__copyToScenegraphSelection(self): ...
    def _AttributeEditorNodeGroupFormWidget__deleteSelectedOverrides(self): ...
    def _AttributeEditorNodeGroupFormWidget__doMoveOrCopyActionToCommonRoot(self, fcn, description): ...
    def _AttributeEditorNodeGroupFormWidget__doMoveOrCopyActionToScenegraphSelection(self, fcn, description): ...
    def _AttributeEditorNodeGroupFormWidget__findCommonRootOfSelection(self): ...
    def _AttributeEditorNodeGroupFormWidget__getSelectedAttributeDict(self): ...
    def _AttributeEditorNodeGroupFormWidget__goToSelectedLocations(self): ...
    def _AttributeEditorNodeGroupFormWidget__idle_callback(self, *args, **kwargs): ...
    def _AttributeEditorNodeGroupFormWidget__ignoreSelectedOverrides(self, flag: bool = ...): ...
    def _AttributeEditorNodeGroupFormWidget__isSelectionIgnored(self): ...
    def _AttributeEditorNodeGroupFormWidget__itemSelectionChangedCB(self): ...
    def _AttributeEditorNodeGroupFormWidget__linkClickedCallback(self, link: str): ...
    def _AttributeEditorNodeGroupFormWidget__moveToCommonRoot(self): ...
    def _AttributeEditorNodeGroupFormWidget__moveToScenegraphSelection(self): ...
    def _AttributeEditorNodeGroupFormWidget__node_setByPassedCB(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _AttributeEditorNodeGroupFormWidget__overrideCreatedCallback(self, eventId, node: NodegraphAPI.Node): ...
    def _AttributeEditorNodeGroupFormWidget__parameter_finalizedValueCB(self, eventType, eventID, **kwargs): ...
    def _AttributeEditorNodeGroupFormWidget__timeChangeCB(self, *args, **kwawgs): ...
    def _AttributeEditorNodeGroupFormWidget__unignoreSelectedOverrides(self): ...
    def _AttributeEditorNodeGroupFormWidget__updateListView(self, selectLocs: Incomplete | None = ...): ...
    def _freeze(self): ...
    def _thaw(self): ...
    def keyPressEvent(self, event): ...
    def __del__(self) -> None: ...

class AttributeEditorTreeWidget(PyQt5.QtWidgets.QTreeWidget):
    class Attribute(tuple):
        _field_defaults: ClassVar[dict] = ...
        _fields: ClassVar[tuple] = ...
        _fields_defaults: ClassVar[dict] = ...
        def __init__(self, _cls, attrType, name, data, tupleSize, sceneGraphLocationPath, hints) -> None: ...
        def _asdict(self): ...
        @classmethod
        def _make(cls, iterable): ...
        def _replace(self, _self, **kwds): ...
        def __getnewargs__(self): ...
        @property
        def attrType(self): ...
        @property
        def data(self): ...
        @property
        def hints(self): ...
        @property
        def name(self): ...
        @property
        def sceneGraphLocationPath(self): ...
        @property
        def tupleSize(self): ...
    ignoreStateChanged: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, attributeEditorNode: NodegraphAPI.Node, parent: Incomplete | None = ...) -> None: ...
    def _AttributeEditorTreeWidget__decodeDraggedAttribute(self, mimeData: PyQt5.QtCore.QMimeData) -> AttributeEditorTreeWidget.Attribute | None: ...
    def dragEnterEvent(self, event: PyQt5.QtGui.QDragEnterEvent): ...
    def dragMoveEvent(self, event: PyQt5.QtGui.QDragMoveEvent): ...
    def dropEvent(self, event: PyQt5.QtGui.QDropEvent): ...
    def keyPressEvent(self, event: PyQt5.QtGui.QKeyEvent): ...

class OverrideItem(PyQt5.QtWidgets.QTreeWidgetItem):
    def __init__(self, parent, name, ignored, overrideNode, index: int = ...) -> None: ...
    def getIndex(self): ...
    def getMaxIndex(self): ...
    def getParameter(self): ...
    def isIgnored(self): ...
    def makeSelected(self, selected): ...
    def setIndex(self, index): ...
    def usesSlider(self): ...

class PopupEditor(PyQt5.QtWidgets.QFrame):
    def __init__(self) -> None: ...
    def clearTarget(self): ...
    def setTarget(self, parentPolicy, param, widgetFactory): ...

class PopupSlider(PyQt5.QtWidgets.QFrame):
    def __init__(self) -> None: ...
    def _PopupSlider__valueChangeCallback(self, value): ...
    def clearTarget(self): ...
    def hideEvent(self, e): ...
    def setTarget(self, minValue, maxValue, curValue, callbackFnc): ...
    def showEvent(self, e): ...

class ScenegraphLocationItem(PyQt5.QtWidgets.QTreeWidgetItem):
    def __init__(self, path, node: NodegraphAPI.Node, attrs, parent) -> None: ...
    def isIgnored(self): ...
    def makeSelected(self, selected): ...
    def setPixmap(self, index, pixmap): ...
    def updateSelection(self): ...
