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

import NodegraphAPI as NodegraphAPI
import UI4.FormMaster.ParameterPolicy as ParameterPolicy
import UI4.FormMaster.ParameterPolicy
import Utils as Utils
from UI4.FormMaster.GenericAssignParameterPolicy import GenericAssignParameterPolicy as GenericAssignParameterPolicy
from UI4.FormMaster.GroupParameterPolicy import GroupParameterPolicy as GroupParameterPolicy
from UI4.FormMaster.ScalarParameterPolicy import ScalarParameterPolicy as ScalarParameterPolicy
from typing import Set, Tuple

class GraphStateVariableValuePolicy(GenericAssignParameterPolicy):
    def __init__(self, param, parent) -> None: ...
    def _GraphStateVariableValuePolicy__optionsChanged(self, event): ...
    def _appendToWrenchMenu(self, menu): ...
    def _freeze(self): ...
    def _thaw(self): ...
    def getWidgetHints(self): ...
    def setValue(self, value, final: bool = ...): ...
    def shouldDisplayWrench(self) -> bool: ...

class RootNodeParameterPolicyDelegate(UI4.FormMaster.ParameterPolicy.ParameterPolicyDelegate):
    def createPolicy(self, parentPolicy, param): ...

class VariableSwitchParameterPolicyDelegate(UI4.FormMaster.ParameterPolicy.ParameterPolicyDelegate):
    def createPolicy(self, parentPolicy, param): ...

class VariableSwitchPatternValuePolicy(ScalarParameterPolicy):
    def _appendToWrenchMenu(self, menu): ...
    def shouldDisplayWrench(self): ...

class VariableSwitchPatternsGroupValuePolicy(GroupParameterPolicy):
    def _appendToWrenchMenu(self, menu): ...
    def shouldDisplayWrench(self): ...
