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

import PyFnAttribute as FnAttribute
import QT4FormWidgets as QT4FormWidgets
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.FormMaster.Editors.UserParametersDialogs
import UI4.Widgets.SortablePanel
import Utils as Utils
from Nodes3DAPI.DynamicParameterUtil import CreateParamNameFromAttrPath as CreateParamNameFromAttrPath
from UI4.FormMaster.Editors.UserParametersDialogs import ParameterRenameDialog as ParameterRenameDialog
from UI4.FormMaster.ParameterPolicy import CreateParameterPolicy as CreateParameterPolicy
from typing import ClassVar, Set, Tuple

class AttributeEntryPanel(UI4.Widgets.SortablePanel.SortablePanelBase):
    _AttributeEntryPanel__INVERSEPALETTE: ClassVar[None] = ...
    def __init__(self, parent, name, policy, widgetFactory) -> None: ...
    def _AttributeEntryPanel__buildWrenchMenu(self): ...
    def _AttributeEntryPanel__pathChangedEvent(self, event): ...
    def _AttributeEntryPanel__rename(self): ...
    def freeze(self): ...
    def getValuePolicy(self): ...
    def getWidget(self): ...
    def thaw(self): ...

class OverrideRenameDialog(UI4.FormMaster.Editors.UserParametersDialogs.ParameterRenameDialog):
    def getValidatingRegex(self): ...

class SortableAttributeDropEditor(UI4.Widgets.SortablePanel.SortablePanelFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...
    def _SortableAttributeDropEditor__attrDropped(self, attr, path, hints): ...
    def _SortableAttributeDropEditor__checkAttrIsValid(self, attr): ...
    def _SortableAttributeDropEditor__displayDuplicateEntryWarning(self, duplicateEntryName, widgetType): ...
    def _SortableAttributeDropEditor__getAcceptablePath(self, path): ...
    def _SortableAttributeDropEditor__getAcceptablePathDisplayName(self): ...
    def _SortableAttributeDropEditor__getOverrideAttributeEntries(self): ...
    def _SortableAttributeDropEditor__getRootPolicy(self): ...
    def _SortableAttributeDropEditor__menuAction(self, action): ...
    def _SortableAttributeDropEditor__on_attrDropped(self, attr, path, hints): ...
    def _SortableAttributeDropEditor__on_attrDroppedWithCoAttributes(self, attr, path, hints, coAttrs): ...
    def _buildControlWidget(self, hbox): ...
    def _freeze(self): ...
    def _thaw(self): ...
    def buildAddMenu(self, menu): ...
    def panelDeleted(self, index): ...
    def panelReordered(self, oldPos, newPos): ...
    def updatePanels(self): ...
