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

import KatanaResources as KatanaResources
import PyQt5.QtWidgets
import QT4FormWidgets as QT4FormWidgets
import QT4FormWidgets.ValuePolicy
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
import UI4.FormMaster.States as States
import Utils as Utils
from QT4FormWidgets.FormWidget import FormWidget
from QT4FormWidgets.WidgetFactory import WidgetFactory
from UI4.FormMaster.FnAttributePolicy import AttributePolicy as AttributePolicy
from UI4.FormMaster.GenericAssignParameterPolicy import GenericAssignParameterPolicy as GenericAssignParameterPolicy
from UI4.FormMaster.ScalarParameterPolicy import ScalarParameterPolicy as ScalarParameterPolicy
from UI4.Widgets.IconLabelFrame import IconLabelFrame as IconLabelFrame
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class BaseRampFormWidget(FormWidget):
    DefaultInterpolator: ClassVar[str] = ...
    Interpolators: ClassVar[dict] = ...
    ValuesTypeString: ClassVar[None] = ...
    _BaseRampFormWidget__InterpolatorPolicyKey: ClassVar[str] = ...
    _BaseRampFormWidget__PositionsPolicyKey: ClassVar[str] = ...
    _BaseRampFormWidget__RampSizePolicyKey: ClassVar[str] = ...
    _BaseRampFormWidget__ValuesPolicyKey: ClassVar[str] = ...
    _InterpolatorPolicyNameSuffix: ClassVar[str] = ...
    _InterpolatorPolicyNameWidgetHint: ClassVar[str] = ...
    _PositionsPolicyNameSuffix: ClassVar[str] = ...
    _PositionsPolicyNameWidgetHint: ClassVar[str] = ...
    _RampSizeParameterName: ClassVar[str] = ...
    def __init__(self, tupleSize: int, parent: PyQt5.QtWidgets.QWidget | None, policy: QT4FormWidgets.AbstractValuePolicy, factory: WidgetFactory) -> None: ...
    def _BaseRampFormWidget__companionPolicyChanged(self, valuePolicyEvent: QT4FormWidgets.ValuePolicy.ValuePolicyEvent): ...
    def _BaseRampFormWidget__getInterpolator(self) -> str: ...
    def _BaseRampFormWidget__getInterpolatorOptions(self) -> list[str]: ...
    def _BaseRampFormWidget__getKnots(self) -> list[tuple]: ...
    @classmethod
    def _BaseRampFormWidget__getPolicyPathDict(cls, mainPolicy, alteredPolicyName: Incomplete | None = ...): ...
    def _BaseRampFormWidget__setInterpolator(self, interpolator: str): ...
    def _BaseRampFormWidget__setKnots(self, knots: list[tuple]): ...
    def _addControlWidgets(self, knots: list[tuple], interpolator: str, interpolatorOptions: list[str], layout: PyQt5.QtWidgets.QHBoxLayout): ...
    def _addInterpolatorActions(self, menu: PyQt5.QtWidgets.QMenu): ...
    def _buildControlWidget(self, layout: PyQt5.QtWidgets.QHBoxLayout): ...
    def _freeze(self): ...
    def _thaw(self): ...
    def _updateControlWidgets(self, knots: list[tuple], interpolator: str): ...
    def _updateRampParameters(self, knots: list[tuple], interpolator: str): ...
    @classmethod
    def getCoPolicyPathDict(cls, policy, alteredPolicyName: Incomplete | None = ...): ...
    def valueChangedEvent(self, valuePolicyEvent: QT4FormWidgets.ValuePolicy.ValuePolicyEvent): ...
