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

import UI4.Util.IconManager as IconManager
import KatanaResources as KatanaResources
import UI4.NodeMaster as NodeMaster
import NodegraphAPI as NodegraphAPI
import UI4.FormMaster.Editors.PolicyFindPopup as PolicyFindPopup
import UI4.KatanaPrefs.PrefNames as PrefNames
import PyQt5.QtCore
import PyQt5.QtGui
import QT4FormWidgets as QT4FormWidgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import PyUtilModule.Shelves as Shelves
import PyUtilModule.SuperToolPlugins as SuperToolPlugins
import UI4.FormMaster.Editors.HideTitleGroup
import Utils as Utils
import UI4.Widgets as Widgets
from UI4.FormMaster.Editors.HideTitleGroup import HideTitleGroupFormWidget as HideTitleGroupFormWidget
from UI4.FormMaster.KatanaFactory import ParameterWidgetFactory as ParameterWidgetFactory
from UI4.Widgets.PopupButton import PopupButton
from Utils.Decorators import deprecated as deprecated
from typing import ClassVar, Set, Tuple

g_nodeSpecificShelves: None

class CommentButton(PopupButton):
    def __init__(self, parent) -> None: ...
    def _CommentButton__aboutToShow(self): ...
    def _CommentButton__commentEditAreaReturnPressed(self): ...

class NodeGroupFormWidget(UI4.FormMaster.Editors.HideTitleGroup.HideTitleGroupFormWidget):
    kDeprecatedColor: ClassVar[PyQt5.QtGui.QColor] = ...
    popdownStateChange: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    tabClosed: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent, policy, factory) -> None: ...
    def _NodeGroupFormWidget__doNodeSetComment(self, args): ...
    def _NodeGroupFormWidget__doNodeSetLocked(self, args): ...
    def _NodeGroupFormWidget__doNodeSetName(self, args): ...
    def _NodeGroupFormWidget__nameEditClearButton_CB(self): ...
    def _NodeGroupFormWidget__on_nodeButton_clicked(self): ...
    def _NodeGroupFormWidget__setAutoRenameAllowed_CB(self, eventType, eventID, node: NodegraphAPI.Node, **kwargs): ...
    def _NodeGroupFormWidget__updateNameEditClearVisibility(self): ...
    def _buildControlWidget(self, layout): ...
    def _buildFindWidget(self, layout): ...
    def _buildHelpButton(self, policy): ...
    def _buildLabel(self, labelText, pos: int = ...): ...
    def _buildLock(self, layout): ...
    def _buildWrench(self, policy): ...
    def _findChildWidget(self, path): ...
    def _freeze(self): ...
    def _removeWrench(self, wrench): ...
    def _thaw(self): ...
    def closeEvent(self, event): ...
    def contextMenuEvent(self, event): ...
    def getNameEdit(self): ...
    def getShortcutsContextName(self): ...
    def showFindPopup(self): ...

class SuperToolFormWidget(NodeGroupFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...
    def _SuperToolFormWidget__handleParameterPolicyEvent(self, valuePolicyEvent): ...
    def _buildFindWidget(self, layout): ...
    def _popdownCreated(self, popdown): ...
    def getTopologyDifferences(self): ...
    def setLocked(self, locked: bool): ...

def _GetNodeSpecificShelves(forceReload: bool = ...): ...
