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

import UI4.Util.GLDrawingRoutines as GLDrawingRoutines
import QT4Color as QT4Color
import QT4FormWidgets as QT4FormWidgets
import QT4GLLayerStack as QT4GLLayerStack
import QT4GLLayerStack.LayerStack
import QT4Widgets as QT4Widgets
import PyQt5.QtCore as QtCore
import PyQt5.QtWidgets as QtWidgets
import Utils as Utils
from QT4FormWidgets.ArrayFormWidget import ArrayFormWidget
from QT4FormWidgets.MultiFormWidget import MultiFormWidget
from UI4.FormMaster.Editors.Layers.LayerWithTransform import LayerWithTransform as LayerWithTransform
from UI4.FormMaster.Editors.Layers.PolicyHelpers import GetPolicyState as GetPolicyState, GetPolicyStateColor as GetPolicyStateColor
from UI4.Widgets.MonitorManipulatorButton import MonitorManipulatorButton as MonitorManipulatorButton
from _typeshed import Incomplete
from typing import Set, Tuple

class PointEditorArrayFormWidget(ArrayFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...

class PointEditorMultiFormWidget(MultiFormWidget):
    def __init__(self, parent, policy, factory) -> None: ...

class PointManipulatorLayer(LayerWithTransform, QT4GLLayerStack.LayerStack.Layer):
    def __init__(self, valuePolicy, *args, **kwargs) -> None: ...
    def _PointManipulatorLayer__buildPopupMenu(self): ...
    def _PointManipulatorLayer__valuePolicy_CB(self, arg: Incomplete | None = ...): ...
    def _dothaw(self): ...
    def defaultProcessEvent(self, event): ...
    def drawOutline(self, pick: bool = ...): ...
    def getColor(self): ...
    def getLabel(self): ...
    def getPoint(self): ...
    def getPointStates(self): ...
    def getValuePolicy(self): ...
    def paintGL(self): ...
    def pickOutline(self, x, y): ...
    def processDragHandleEvent(self, event): ...
    def setPoint(self, point, final): ...

class PolicyList(list):
    def _PolicyList__selectPolicies(self, predicate): ...
    def canHaveCurve(self): ...
    def canHaveExpression(self): ...
    def doAutoKey(self): ...
    def doConstant(self): ...
    def doCurve(self): ...
    def doExpression(self): ...
    def doKey(self): ...
    def doShowCurve(self): ...
    def getCurveAutoKey(self): ...
    def getCurveKey(self): ...
    def isCurveEnabled(self): ...
    def isCurveViewed(self): ...
    def isExpressionEnabled(self): ...
    def isLocked(self): ...

def GetPointPolicyChildren(policy): ...
