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

import NodegraphAPI as NodegraphAPI
import PyUtilModule as PyUtilModule
import PyXmlIO as PyXmlIO
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import UI4.Widgets.SortablePanel as SortablePanel
import UI4 as UI4
import UI4.Widgets.SortablePanel
import Naming as UniqueName
import Utils as Utils
from PyUtilModule.Decorators import undogroup as undogroup
from UI4.FormMaster.Editors.ConditionalHints import ConditionalHintEditorDialog as ConditionalHintEditorDialog, GetConditionalNamesFromHintDict as GetConditionalNamesFromHintDict
from UI4.FormMaster.Editors.UserParametersDialogs import ChangeWidgetType as ChangeWidgetType, GetWidgetDisplayName as GetWidgetDisplayName, GetWidgetListForType as GetWidgetListForType, HelpTextDialog as HelpTextDialog, ParameterRenameDialog as ParameterRenameDialog, ShowWidgetOptionsDialog as ShowWidgetOptionsDialog
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class ChildParameterPanel(UI4.Widgets.SortablePanel.ParameterSortablePanel):
    def __init__(self, parent, name, policy, widgetFactory, panelArgs: Incomplete | None = ...) -> None: ...
    def _ChildParameterPanel__buildWrenchMenu(self): ...
    def _ChildParameterPanel__childWidgetVisChange(self, state, w): ...
    def _ChildParameterPanel__editConditionalLock(self): ...
    def _ChildParameterPanel__editConditionalState(self, hintType, windowTitle): ...
    def _ChildParameterPanel__editConditionalVisibility(self): ...
    def _ChildParameterPanel__editHelpTextCallback(self): ...
    def _ChildParameterPanel__editWidgetOptions(self): ...
    def _ChildParameterPanel__getHints(self): ...
    def _ChildParameterPanel__renameParameter(self): ...
    def _ChildParameterPanel__widgetTypeTriggered(self, action): ...
    def getValuePolicy(self): ...
    def getWidget(self): ...

class UndoableAction:
    def __init__(self, name, callback) -> None: ...
    def __call__(self): ...

class UserParametersEditor(UI4.Widgets.SortablePanel.ParameterSortablePanelFormWidget):
    NullWidgetHintString: ClassVar[str] = ...
    def __init__(self, parent, policy, factory) -> None: ...
    def _UserParametersEditor__addButtonParameter(self): ...
    def _UserParametersEditor__addCapsuleParameter(self): ...
    def _UserParametersEditor__addColorGradientParameter(self): ...
    def _UserParametersEditor__addColorParameterRGB(self): ...
    def _UserParametersEditor__addColorParameterRGBA(self): ...
    def _UserParametersEditor__addColorRampParameter(self): ...
    def _UserParametersEditor__addFloatRampParameter(self): ...
    def _UserParametersEditor__addFloatVectorParameter(self): ...
    def _UserParametersEditor__addGroupParameter(self): ...
    def _UserParametersEditor__addNodeDropProxyParameter(self): ...
    def _UserParametersEditor__addNumberArrayParameter(self): ...
    def _UserParametersEditor__addNumberParameter(self): ...
    def _UserParametersEditor__addSeparator(self): ...
    def _UserParametersEditor__addStringArrayParameter(self): ...
    def _UserParametersEditor__addStringParameter(self, hints: Incomplete | None = ..., name: Incomplete | None = ...): ...
    def _UserParametersEditor__addTeleParameter(self): ...
    def _UserParametersEditor__addToolbarParameter(self): ...
    def _UserParametersEditor__buildArrayStructure(self, typeName, size, tupleSize, default, hints: Incomplete | None = ...): ...
    def _UserParametersEditor__getDragSourceAndIndex(self, ev): ...
    def _UserParametersEditor__getDropParameter(self, mimeData): ...
    def _UserParametersEditor__getParam(self): ...
    def _getPanelForPolicy(self, vp): ...
    def addButtonCheckDragEvent(self, event): ...
    def addButtonDropEvent(self, event): ...
    def buildAddMenu(self, menu): ...
    def dragEnterEvent(self, ev): ...
    def dragMoveEvent(self, ev): ...
    def dropEvent(self, ev): ...
