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

import UI4.KatanaPrefs.PrefNames as PrefNames
import PyQt5.QtWidgets
import QT4FormWidgets as QT4FormWidgets
import QT4FormWidgets.ValuePolicy
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 typing
from ResourceFiles.IconManager import ResourceManager as ResourceManager
from UI4.KatanaPrefs.KatanaPrefsObject import Prefs as Prefs
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class AssetWidgetHintsDialog(DefaultWidgetHintsDialog):
    TRUEFALSEHINTS: ClassVar[dict] = ...
    def _AssetWidgetHintsDialog__trueFalseHints(self, hints): ...
    def buildValues(self, policy, hints, valueDict, order): ...

class CapsuleWidgetHintsDialog(DefaultWidgetHintsDialog):
    class CapsuleHintEditor(UI4.Widgets.SortablePanel.SortablePanelFormWidget):
        class OptionPanel(UI4.Widgets.SortablePanel.SortablePanelBase):
            def __init__(self, parent, entry) -> None: ...
            def getResult(self): ...
        def __init__(self, parent, optionsData, factory) -> None: ...
        def _CapsuleHintEditor__addOptionPanel(self): ...
        def buildAddMenu(self, menu): ...
        def getResult(self): ...
    def buildExtras(self, layout): ...
    def buildValues(self, policy, hints, valueDict, order): ...
    def getResult(self): ...

class ColorWidgetHintsDialog(DefaultWidgetHintsDialog):
    def buildValues(self, policy, hints, valueDict, order): ...

class DefaultWidgetHintsDialog(PyQt5.QtWidgets.QDialog):
    TRUEFALSEHINTS: ClassVar[dict] = ...
    def __init__(self, policy, hints) -> None: ...
    def _DefaultWidgetHintsDialog__buildArraySizeInputs(self, policy, hints): ...
    def _DefaultWidgetHintsDialog__trueFalseHints(self, hints): ...
    def accept(self): ...
    def addFromHints(self, name, hints, valueDict, order, default, widgetHints: Incomplete | None = ...): ...
    def buildExtras(self, layout): ...
    def buildStretch(self, layout): ...
    def buildValues(self, policy, hints, valueDict, order): ...
    def getOptionsPolicy(self): ...
    def getResult(self): ...
    def getScrollParent(self): ...
    def getValues(self): ...
    def getWidgetPolicy(self): ...
    def keyPressEvent(self, event): ...

class EnableableDictPolicy(QT4FormWidgets.ValuePolicy.AbstractValuePolicy):
    def __init__(self, inputDict, name, valueOrder: Incomplete | None = ..., hints: Incomplete | None = ..., parent: Incomplete | None = ...) -> None: ...
    def getChildByName(self, name): ...
    def getChildren(self): ...
    def getName(self): ...
    def getNumChildren(self): ...
    def getStateAppearance(self, state): ...
    def getType(self): ...
    def getWidgetHints(self): ...

class EnableableValuePolicy(QT4FormWidgets.ValuePolicy.AbstractValuePolicy):
    def __init__(self, inputList, name, parent: Incomplete | None = ...) -> None: ...
    def getAvailableStates(self): ...
    def getName(self): ...
    def getStateAppearance(self, state): ...
    def getType(self): ...
    def getValue(self): ...
    def getValueState(self): ...
    def getWidgetHints(self): ...
    def setValue(self, value, final: bool = ...): ...
    def setValueState(self, state): ...
    def shouldDisplayState(self): ...

class HelpTextDialog(PyQt5.QtWidgets.QDialog):
    def __init__(self, hints, locked: bool = ...) -> None: ...
    def getResult(self): ...

class MappingPopupWidgetHintsDialog(DefaultWidgetHintsDialog):
    class SortableKeyValueWidget(UI4.Widgets.SortablePanel.SortablePanelFormWidget):
        class KeyValuePanel(UI4.Widgets.SortablePanel.SortablePanelBase):
            def __init__(self, parent, entry, isNumber) -> None: ...
            def _KeyValuePanel__forceValidValue(self, value) -> str | float: ...
            def _KeyValuePanel__getValidKey(self, key: str | None) -> str: ...
            def _KeyValuePanel__textChanged(self): ...
            def forceUniquenessCheck(self): ...
            def getValue(self): ...
        def __init__(self, parent, policy, valueList, factory) -> None: ...
        def _SortableKeyValueWidget__addEntry(self): ...
        def _SortableKeyValueWidget__getKeysSet(self) -> set[str]: ...
        def buildAddMenu(self, menu): ...
        def getValue(self): ...
    DEFAULT_NEW_KEY: ClassVar[str] = ...
    DEFAULT_NEW_VALUE: ClassVar[float] = ...
    def buildExtras(self, layout): ...
    def buildValues(self, policy, hints, valueDict, order): ...
    def getResult(self): ...

class ParameterRenameDialog(PyQt5.QtWidgets.QDialog):
    def __init__(self, startingName: str, peerNames: typing.Sequence[str]) -> None: ...
    def _ParameterRenameDialog__getRawValues(self) -> Tuple[str, str, str]: ...
    def _ParameterRenameDialog__textChanged(self, value: str): ...
    def _getAdjustedFieldValue(self, text: str) -> str: ...
    def _getAdjustedUniqueDisplayName(self, text: str) -> str: ...
    def _isTextValid(self, text: str) -> bool: ...
    def getResult(self) -> str: ...
    def getValidatingRegex(self) -> str: ...

class PopupWidgetHintsDialog(DefaultWidgetHintsDialog):
    def buildValues(self, policy, hints, valueDict, order): ...
    def getResult(self): ...

class ScriptButtonWidgetHintsDialog(DefaultWidgetHintsDialog):
    def _ScriptButtonWidgetHintsDialog__launchExternalEditor(self): ...
    def buildExtras(self, layout): ...
    def buildValues(self, policy, hints, valueDict, order): ...

class ScriptToolbarWidgetHintsDialog(DefaultWidgetHintsDialog):
    class ScriptToolbarHintEditor(UI4.Widgets.SortablePanel.SortablePanelFormWidget):
        class ButtonPanel(UI4.Widgets.SortablePanel.SortablePanelBase):
            def __init__(self, parent, entry) -> None: ...
            def _ButtonPanel__launchExternalEditor(self): ...
            def getResult(self): ...

        class StretchPanel(UI4.Widgets.SortablePanel.SortablePanelBase):
            def __init__(self, parent) -> None: ...
            def getResult(self): ...
        def __init__(self, parent, buttonData, factory) -> None: ...
        def _ScriptToolbarHintEditor__addButtonPanel(self): ...
        def _ScriptToolbarHintEditor__addStretchPanel(self): ...
        def buildAddMenu(self, menu): ...
        def getResult(self): ...
    def buildExtras(self, layout): ...
    def buildValues(self, policy, hints, valueDict, order): ...
    def getResult(self): ...

class SeparatorWidgetHintsDialog(DefaultWidgetHintsDialog):
    TRUEFALSEHINTS: ClassVar[dict] = ...
    def _SeparatorWidgetHintsDialog__trueFalseHints(self, hints): ...
    def buildValues(self, policy, hints, valueDict, order): ...

def ChangeWidgetType(policy, hints, widgetDisplayType): ...
def GetWidgetDisplayName(widget): ...
def GetWidgetFromDisplayName(displayName): ...
def GetWidgetListForType(policy): ...
def ShowWidgetOptionsDialog(policy, hints): ...
