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

import UI4.FormMaster.Editors.KatanaColor as KatanaColor
import PyQt5.QtCore
import QT4FormWidgets as QT4FormWidgets
import QT4FormWidgets.ValuePolicy
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import UI4.FormMaster.Editors.KatanaColor
import Utils as Utils
from QT4FormWidgets.GroupFormWidget import GroupFormWidget
from UI4.FormMaster.Editors.ColorArrayFormWidget import ColorArrayFormWidget as ColorArrayFormWidget
from typing import ClassVar, Set, Tuple

class ArraySliceProxyPolicy:
    def __init__(self, policy, sliceStart, sliceEnd) -> None: ...
    def getArrayChild(self, index): ...
    def getArraySize(self): ...
    def getExtraHints(self): ...
    def getOpenStateKey(self): ...
    def getWidgetHints(self): ...
    def __getattr__(self, name): ...

class BalancedArrayFormWidget(ColorArrayFormWidget):
    class ColorWidget(UI4.FormMaster.Editors.KatanaColor.KatanaColorFormWidget):
        class SetValuePolicyProxy(QT4FormWidgets.ValuePolicy.ValuePolicyProxy):
            colorChange: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
            def __init__(self, policy, parentWidget, index) -> None: ...
            def setValue(self, value, final: bool = ...): ...
        colorChange: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
        def _popdownCreated(self, popdown): ...
        def execColorPicker(self): ...
        def setColor_RGBA(self, color, final: bool = ...): ...
    def __init__(self, *args, **kwargs) -> None: ...
    def _BalancedArrayFormWidget__balanceFrom(self, index): ...
    def _BalancedArrayFormWidget__checkboxStateChanged(self, state): ...
    def _BalancedArrayFormWidget__colorChange(self, index): ...
    def _buildColorWidget(self, parent, policy, index): ...
    def _buildControlWidget(self, layout): ...

class ColorArrayFormWidget(GroupFormWidget):
    def _buildColorWidget(self, parent, policy, index): ...
    def _popdownCreated(self, popdown): ...
