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

import QT4FormWidgets.Conditional as Conditional
import QT4FormWidgets.FormWidgetTools as FormWidgetTools
import QT4FormWidgets.HintUtils as HintUtils
import QT4FormWidgets.InputWidgets as InputWidgets
import QT4FormWidgets.MenuUtils as MenuUtils
import QT4FormWidgets.OpenState as OpenState
import QT4FormWidgets.PaintingUtils as PaintingUtils
import PyQt5.QtCore
import PyQt5.QtGui
import PyQt5.QtWidgets
import QT4FormWidgets
import QT4Widgets as QT4Widgets
import PyQt5.QtCore as QtCore
import PyQt5.QtGui as QtGui
import PyQt5.QtWidgets as QtWidgets
from QT4FormWidgets.FWidget import FDisclosureTriangle as FDisclosureTriangle
from QT4FormWidgets.FixableBoxLayout import FixableBoxLayout as FixableBoxLayout
from QT4FormWidgets.FormClose import FormClose as FormClose
from QT4FormWidgets.FormWidgetLabel import FormWidgetLabel as FormWidgetLabel
from QT4FormWidgets.MultiStateBadge import MultiStateBadge as MultiStateBadge, ToggleStateBadge as ToggleStateBadge
from _typeshed import Incomplete
from typing import ClassVar, Set, Tuple

class FormWidget(PyQt5.QtWidgets.QWidget):
    HIGHLIGHTSTYLE_ALWAYS: ClassVar[int] = ...
    HIGHLIGHTSTYLE_NONE: ClassVar[int] = ...
    HIGHLIGHTSTYLE_ROLLOVER: ClassVar[int] = ...
    HIGHLIGHTSTYLE_TRANSPARENT: ClassVar[int] = ...
    LABELPOS_LEFT: ClassVar[int] = ...
    LABELPOS_RIGHT: ClassVar[int] = ...
    TEXTCOLOR_ERROR: ClassVar[PyQt5.QtGui.QColor] = ...
    TEXTCOLOR_WARNING: ClassVar[PyQt5.QtGui.QColor] = ...
    _FormWidget__DRAG_THRESHOLD: ClassVar[int] = ...
    _FormWidget__HIGHLIGHTSTYLE_LIMIT: ClassVar[int] = ...
    _FormWidget__allowStickyScrub: ClassVar[bool] = ...
    _FormWidget__backColorBrush: ClassVar[None] = ...
    enterEventSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    leaveEventSignal: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    showPopdownChange: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    visibleStateChange: ClassVar[PyQt5.QtCore.pyqtSignal] = ...
    def __init__(self, parent, policy, factory) -> None: ...
    def _FormWidget__buildPopdownArea(self): ...
    def _FormWidget__copy(self): ...
    def _FormWidget__doTriangleClicked(self, item, state): ...
    def _FormWidget__finishScrubbing(self, event: Incomplete | None = ..., shouldCommit: bool = ...): ...
    def _FormWidget__focusChanged(self, old, new): ...
    def _FormWidget__freezeConditionalVis(self): ...
    def _FormWidget__getNodeAndParameterFromWidgetHints(self) -> tuple: ...
    def _FormWidget__lockOpStateCallback(self, state): ...
    def _FormWidget__on_destroyed(self): ...
    def _FormWidget__setTriangleState(self, state): ...
    def _FormWidget__startDrag(self): ...
    def _FormWidget__thawConditionalVis(self): ...
    def _FormWidget__updateCloseButtonIfNeeded(self): ...
    def _FormWidget__updateJumpToParameterButtonIfNeeded(self): ...
    def _FormWidget__visOpStateCallback(self, state): ...
    def _buildCloseButton(self, policy): ...
    def _buildControlWidget(self, layout): ...
    def _buildHelpButton(self, policy): ...
    def _buildInfoWidget(self): ...
    def _buildJumpToParameterButton(self) -> PyQt5.QtWidgets.QPushButton | None: ...
    def _buildLabel(self, labelText, pos: int = ...): ...
    def _buildStateBadge(self, policy): ...
    def _buildTopAreaLayout(self, layout): ...
    def _buildWrench(self, policy): ...
    def _freeze(self): ...
    def _lockChanged(self, state): ...
    def _participatesInLabelAlignment(self): ...
    def _popdownCreated(self, popdown): ...
    def _popupMenuCreated(self, menu): ...
    def _removeFormWidget(self, child): ...
    def _removeWrench(self, wrench): ...
    def _resetScrubbing(self): ...
    def _thaw(self): ...
    def _updateStateBadge(self): ...
    def _updateWithHints(self, originalHints, hints): ...
    def addFormWidgetChild(self, child, atIndex: Incomplete | None = ...): ...
    def alignChildLabelWidths(self): ...
    def alignLeftControlWidths(self): ...
    def checkMimeData(self, mimeData): ...
    def contextMenuEvent(self, event): ...
    def customEvent(self, event): ...
    def dragEnterEvent(self, event): ...
    def dropEvent(self, event): ...
    def enterEvent(self, event): ...
    def event(self, event: PyQt5.QtCore.QEvent) -> bool: ...
    def eventFilter(self, parent, event): ...
    @classmethod
    def getCoPolicyPathDict(cls, policy: QT4FormWidgets.AbstractValuePolicy, alteredPolicyName: Incomplete | None = ...): ...
    def getControlLayout(self): ...
    def getControlWidgets(self): ...
    def getCustomHighlightColor(self): ...
    @classmethod
    def getDefaultBoldLabelFont(cls): ...
    @classmethod
    def getDefaultLabelFont(cls): ...
    @classmethod
    def getDefaultSecondaryLabelFont(cls): ...
    def getFactory(self): ...
    def getFormWidgetChild(self, name): ...
    def getFormWidgetChildren(self): ...
    def getFormWidgetParent(self): ...
    def getHighlightStyle(self): ...
    def getLabel(self) -> FormWidgetLabel: ...
    def getLabelText(self): ...
    def getLabelWidth(self): ...
    def getLeftControlFWidgets(self): ...
    def getLeftControlWidth(self): ...
    def getLeftLabelFWidgets(self): ...
    def getMaximumLeftControlWidgetWidth(self): ...
    def getMimeData(self) -> PyQt5.QtCore.QMimeData: ...
    def getPopdownEnclosureDrawn(self): ...
    def getPopdownIndent(self): ...
    def getPopdownWidget(self): ...
    def getRightControlFWidgets(self): ...
    def getRightLabelFWidgets(self): ...
    def getScrubbingState(self) -> QT4FormWidgets.ScrubbingStates: ...
    def getStateBadge(self): ...
    def getTopologyDifferences(self): ...
    def getTriangle(self): ...
    def getValuePolicy(self): ...
    def getWidgetHints(self): ...
    def hideEvent(self, event): ...
    @classmethod
    def hintTrue(cls, hintName, hints, default: Incomplete | None = ...): ...
    def isFrozen(self): ...
    def isLocked(self): ...
    def isPopdownShown(self): ...
    def isScrubbing(self) -> bool: ...
    def isTriangleShown(self): ...
    def keyPressEvent(self, event): ...
    def keyReleaseEvent(self, event): ...
    def labelSliderBegin(self, pos, modifiers): ...
    def labelSliderDrag(self, pos, modifiers): ...
    def labelSliderEnd(self, pos, modifiers): ...
    def leaveEvent(self, event): ...
    def mouseMoveEvent(self, event): ...
    def mousePressEvent(self, event): ...
    def mouseReleaseEvent(self, event): ...
    def paintEvent(self, event): ...
    def revealFormWidgetChild(self, path: str | list[str]) -> FormWidget: ...
    @classmethod
    def setAllowStickyScrub(cls, allowStickyScrub): ...
    def setHighlightStyle(self, style): ...
    def setInfo(self, text, color: Incomplete | None = ...): ...
    def setLabelText(self, text): ...
    def setLabelWidth(self, width): ...
    def setLeftControlWidth(self, width: int): ...
    def setLocked(self, state, checkLockOps: bool = ...): ...
    def setMimeData(self, mimeData, dropAction): ...
    def setPopdownEnclosureDrawn(self, value): ...
    def setPopdownIndent(self, value): ...
    def setTemporaryBackgroundColor(self, color): ...
    def setVisible(self, state, checkVisOps: bool = ...): ...
    def showEvent(self, event): ...
    def showPopdown(self, value): ...
    def showTriangle(self, flag): ...
    def supportsStickyScrub(self) -> bool: ...
    def topAreaLayoutContains(self, pos): ...
    def updateGeometry(self): ...
    def valueChangedEvent(self, event): ...
    def __lt__(self, other) -> bool: ...

class ScrubbingStates:
    NONE: ClassVar[int] = ...
    NORMAL: ClassVar[int] = ...
    STANDBY: ClassVar[int] = ...
    STICKY: ClassVar[int] = ...

def AlignChildLabelWidths(widgets): ...
def AlignLeftControlWidths(widgets): ...
