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

import NodegraphAPI as NodegraphAPI
import UI4.FormMaster.ParameterPolicy as ParameterPolicy
import UI4.FormMaster.States as States
import UI4.FormMaster.ParameterPolicy
import Utils as Utils
from UI4.FormMaster.GroupParameterPolicy import GroupParameterPolicy as GroupParameterPolicy
from UI4.FormMaster.ScalarParameterPolicy import ScalarParameterPolicy as ScalarParameterPolicy
from _typeshed import Incomplete
from typing import Set, Tuple

class EnableableGroupParameterPolicy(GroupParameterPolicy):
    def __init__(self, param, parentPolicy) -> None: ...
    def getAvailableStates(self): ...
    def getValueState(self): ...
    def getWidgetHints(self): ...
    def setValueState(self, state): ...
    def shouldDisplayState(self): ...

class EnableableScalarParameterPolicy(ScalarParameterPolicy):
    def __init__(self, param, parent) -> None: ...
    def _EnableableScalarParameterPolicy__initFromDefault(self): ...
    def _handleParamFinalized(self, args): ...
    def getAvailableStates(self): ...
    def getValueState(self): ...
    def getWidgetHints(self): ...
    def setCurve(self, curve): ...
    def setCurveAutoKey(self, autoKey): ...
    def setCurveEnabled(self, state): ...
    def setCurveKey(self, state): ...
    def setExpression(self, rawExpr): ...
    def setExpressionEnabled(self, flag): ...
    def setValue(self, value, final: bool = ...): ...
    def setValueState(self, state): ...
    def shouldDisplayState(self): ...

class EnableableScalarPolicyDelegate(UI4.FormMaster.ParameterPolicy.ParameterPolicyDelegate):
    def __init__(self, exclude: Incomplete | None = ..., groupEnable: Incomplete | None = ...) -> None: ...
    def createPolicy(self, parentPolicy, param): ...
