# The PEP 484 type hints stub file for the QtCore module.
#
# Generated by SIP 4.19.19
#
# Copyright (c) 2019 Riverbank Computing Limited <info@riverbankcomputing.com>
# 
# This file is part of PyQt5.
# 
# This file may be used under the terms of the GNU General Public License
# version 3.0 as published by the Free Software Foundation and appearing in
# the file LICENSE included in the packaging of this file.  Please review the
# following information to ensure the GNU General Public License version 3.0
# requirements will be met: http://www.gnu.org/copyleft/gpl.html.
# 
# If you do not wish to use this file under the terms of the GPL version 3.0
# then you may purchase a commercial license.  For more information contact
# info@riverbankcomputing.com.
# 
# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


import typing
import sip

from typing import overload

from PyQt5.QtWidgets import QWidget

# Support for QDate, QDateTime and QTime.
import datetime

_TFunc = typing.TypeVar('_TFunc', bound=typing.Callable)

# Support for new-style signals and slots.
class pyqtSignal:
    def __init__(self, *types, name: str = ...) -> None: ...

    # pyqtBoundSignal:
    def connect(self, reciever: PYQT_SLOT, type: int = ...) -> None: ...
    def disconnect(self, reciever: PYQT_SLOT) -> None: ...
    def emit(self, *args) -> None: ...
    def __getitem__(self, *types) -> "pyqtBoundSignal": ...

pyqtBoundSignal = pyqtSignal

# Convenient type aliases.
PYQT_SIGNAL = typing.Union[pyqtSignal, pyqtBoundSignal]
PYQT_SLOT = typing.Union[typing.Callable[...], pyqtBoundSignal]


class QtMsgType(int):
    QtDebugMsg = ... # type: QtMsgType
    QtWarningMsg = ... # type: QtMsgType
    QtCriticalMsg = ... # type: QtMsgType
    QtFatalMsg = ... # type: QtMsgType
    QtSystemMsg = ... # type: QtMsgType
    QtInfoMsg = ... # type: QtMsgType


class QCborKnownTags(int):
    DateTimeString = ... # type: QCborKnownTags
    UnixTime_t = ... # type: QCborKnownTags
    PositiveBignum = ... # type: QCborKnownTags
    NegativeBignum = ... # type: QCborKnownTags
    Decimal = ... # type: QCborKnownTags
    Bigfloat = ... # type: QCborKnownTags
    COSE_Encrypt0 = ... # type: QCborKnownTags
    COSE_Mac0 = ... # type: QCborKnownTags
    COSE_Sign1 = ... # type: QCborKnownTags
    ExpectedBase64url = ... # type: QCborKnownTags
    ExpectedBase64 = ... # type: QCborKnownTags
    ExpectedBase16 = ... # type: QCborKnownTags
    EncodedCbor = ... # type: QCborKnownTags
    Url = ... # type: QCborKnownTags
    Base64url = ... # type: QCborKnownTags
    Base64 = ... # type: QCborKnownTags
    RegularExpression = ... # type: QCborKnownTags
    MimeMessage = ... # type: QCborKnownTags
    Uuid = ... # type: QCborKnownTags
    COSE_Encrypt = ... # type: QCborKnownTags
    COSE_Mac = ... # type: QCborKnownTags
    COSE_Sign = ... # type: QCborKnownTags
    Signature = ... # type: QCborKnownTags


class QCborSimpleType(int):
    False_ = ... # type: QCborSimpleType
    True_ = ... # type: QCborSimpleType
    Null = ... # type: QCborSimpleType
    Undefined = ... # type: QCborSimpleType


class Qt(sip.simplewrapper):

    class ChecksumType(int):
        ChecksumIso3309 = ... # type: Qt.ChecksumType
        ChecksumItuV41 = ... # type: Qt.ChecksumType

    class EnterKeyType(int):
        EnterKeyDefault = ... # type: Qt.EnterKeyType
        EnterKeyReturn = ... # type: Qt.EnterKeyType
        EnterKeyDone = ... # type: Qt.EnterKeyType
        EnterKeyGo = ... # type: Qt.EnterKeyType
        EnterKeySend = ... # type: Qt.EnterKeyType
        EnterKeySearch = ... # type: Qt.EnterKeyType
        EnterKeyNext = ... # type: Qt.EnterKeyType
        EnterKeyPrevious = ... # type: Qt.EnterKeyType

    class ItemSelectionOperation(int):
        ReplaceSelection = ... # type: Qt.ItemSelectionOperation
        AddToSelection = ... # type: Qt.ItemSelectionOperation

    class TabFocusBehavior(int):
        NoTabFocus = ... # type: Qt.TabFocusBehavior
        TabFocusTextControls = ... # type: Qt.TabFocusBehavior
        TabFocusListControls = ... # type: Qt.TabFocusBehavior
        TabFocusAllControls = ... # type: Qt.TabFocusBehavior

    class MouseEventFlag(int):
        MouseEventCreatedDoubleClick = ... # type: Qt.MouseEventFlag

    class MouseEventSource(int):
        MouseEventNotSynthesized = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedBySystem = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedByQt = ... # type: Qt.MouseEventSource
        MouseEventSynthesizedByApplication = ... # type: Qt.MouseEventSource

    class ScrollPhase(int):
        ScrollBegin = ... # type: Qt.ScrollPhase
        ScrollUpdate = ... # type: Qt.ScrollPhase
        ScrollEnd = ... # type: Qt.ScrollPhase
        NoScrollPhase = ... # type: Qt.ScrollPhase
        ScrollMomentum = ... # type: Qt.ScrollPhase

    class NativeGestureType(int):
        BeginNativeGesture = ... # type: Qt.NativeGestureType
        EndNativeGesture = ... # type: Qt.NativeGestureType
        PanNativeGesture = ... # type: Qt.NativeGestureType
        ZoomNativeGesture = ... # type: Qt.NativeGestureType
        SmartZoomNativeGesture = ... # type: Qt.NativeGestureType
        RotateNativeGesture = ... # type: Qt.NativeGestureType
        SwipeNativeGesture = ... # type: Qt.NativeGestureType

    class Edge(int):
        TopEdge = ... # type: Qt.Edge
        LeftEdge = ... # type: Qt.Edge
        RightEdge = ... # type: Qt.Edge
        BottomEdge = ... # type: Qt.Edge

    class ApplicationState(int):
        ApplicationSuspended = ... # type: Qt.ApplicationState
        ApplicationHidden = ... # type: Qt.ApplicationState
        ApplicationInactive = ... # type: Qt.ApplicationState
        ApplicationActive = ... # type: Qt.ApplicationState

    class HitTestAccuracy(int):
        ExactHit = ... # type: Qt.HitTestAccuracy
        FuzzyHit = ... # type: Qt.HitTestAccuracy

    class WhiteSpaceMode(int):
        WhiteSpaceNormal = ... # type: Qt.WhiteSpaceMode
        WhiteSpacePre = ... # type: Qt.WhiteSpaceMode
        WhiteSpaceNoWrap = ... # type: Qt.WhiteSpaceMode
        WhiteSpaceModeUndefined = ... # type: Qt.WhiteSpaceMode

    class FindChildOption(int):
        FindDirectChildrenOnly = ... # type: Qt.FindChildOption
        FindChildrenRecursively = ... # type: Qt.FindChildOption

    class ScreenOrientation(int):
        PrimaryOrientation = ... # type: Qt.ScreenOrientation
        PortraitOrientation = ... # type: Qt.ScreenOrientation
        LandscapeOrientation = ... # type: Qt.ScreenOrientation
        InvertedPortraitOrientation = ... # type: Qt.ScreenOrientation
        InvertedLandscapeOrientation = ... # type: Qt.ScreenOrientation

    class CursorMoveStyle(int):
        LogicalMoveStyle = ... # type: Qt.CursorMoveStyle
        VisualMoveStyle = ... # type: Qt.CursorMoveStyle

    class NavigationMode(int):
        NavigationModeNone = ... # type: Qt.NavigationMode
        NavigationModeKeypadTabOrder = ... # type: Qt.NavigationMode
        NavigationModeKeypadDirectional = ... # type: Qt.NavigationMode
        NavigationModeCursorAuto = ... # type: Qt.NavigationMode
        NavigationModeCursorForceVisible = ... # type: Qt.NavigationMode

    class GestureFlag(int):
        DontStartGestureOnChildren = ... # type: Qt.GestureFlag
        ReceivePartialGestures = ... # type: Qt.GestureFlag
        IgnoredGesturesPropagateToParent = ... # type: Qt.GestureFlag

    class GestureType(int):
        TapGesture = ... # type: Qt.GestureType
        TapAndHoldGesture = ... # type: Qt.GestureType
        PanGesture = ... # type: Qt.GestureType
        PinchGesture = ... # type: Qt.GestureType
        SwipeGesture = ... # type: Qt.GestureType
        CustomGesture = ... # type: Qt.GestureType

    class GestureState(int):
        GestureStarted = ... # type: Qt.GestureState
        GestureUpdated = ... # type: Qt.GestureState
        GestureFinished = ... # type: Qt.GestureState
        GestureCanceled = ... # type: Qt.GestureState

    class TouchPointState(int):
        TouchPointPressed = ... # type: Qt.TouchPointState
        TouchPointMoved = ... # type: Qt.TouchPointState
        TouchPointStationary = ... # type: Qt.TouchPointState
        TouchPointReleased = ... # type: Qt.TouchPointState

    class CoordinateSystem(int):
        DeviceCoordinates = ... # type: Qt.CoordinateSystem
        LogicalCoordinates = ... # type: Qt.CoordinateSystem

    class AnchorPoint(int):
        AnchorLeft = ... # type: Qt.AnchorPoint
        AnchorHorizontalCenter = ... # type: Qt.AnchorPoint
        AnchorRight = ... # type: Qt.AnchorPoint
        AnchorTop = ... # type: Qt.AnchorPoint
        AnchorVerticalCenter = ... # type: Qt.AnchorPoint
        AnchorBottom = ... # type: Qt.AnchorPoint

    class InputMethodHint(int):
        ImhNone = ... # type: Qt.InputMethodHint
        ImhHiddenText = ... # type: Qt.InputMethodHint
        ImhNoAutoUppercase = ... # type: Qt.InputMethodHint
        ImhPreferNumbers = ... # type: Qt.InputMethodHint
        ImhPreferUppercase = ... # type: Qt.InputMethodHint
        ImhPreferLowercase = ... # type: Qt.InputMethodHint
        ImhNoPredictiveText = ... # type: Qt.InputMethodHint
        ImhDigitsOnly = ... # type: Qt.InputMethodHint
        ImhFormattedNumbersOnly = ... # type: Qt.InputMethodHint
        ImhUppercaseOnly = ... # type: Qt.InputMethodHint
        ImhLowercaseOnly = ... # type: Qt.InputMethodHint
        ImhDialableCharactersOnly = ... # type: Qt.InputMethodHint
        ImhEmailCharactersOnly = ... # type: Qt.InputMethodHint
        ImhUrlCharactersOnly = ... # type: Qt.InputMethodHint
        ImhExclusiveInputMask = ... # type: Qt.InputMethodHint
        ImhSensitiveData = ... # type: Qt.InputMethodHint
        ImhDate = ... # type: Qt.InputMethodHint
        ImhTime = ... # type: Qt.InputMethodHint
        ImhPreferLatin = ... # type: Qt.InputMethodHint
        ImhLatinOnly = ... # type: Qt.InputMethodHint
        ImhMultiLine = ... # type: Qt.InputMethodHint
        ImhNoEditMenu = ... # type: Qt.InputMethodHint
        ImhNoTextHandles = ... # type: Qt.InputMethodHint

    class TileRule(int):
        StretchTile = ... # type: Qt.TileRule
        RepeatTile = ... # type: Qt.TileRule
        RoundTile = ... # type: Qt.TileRule

    class WindowFrameSection(int):
        NoSection = ... # type: Qt.WindowFrameSection
        LeftSection = ... # type: Qt.WindowFrameSection
        TopLeftSection = ... # type: Qt.WindowFrameSection
        TopSection = ... # type: Qt.WindowFrameSection
        TopRightSection = ... # type: Qt.WindowFrameSection
        RightSection = ... # type: Qt.WindowFrameSection
        BottomRightSection = ... # type: Qt.WindowFrameSection
        BottomSection = ... # type: Qt.WindowFrameSection
        BottomLeftSection = ... # type: Qt.WindowFrameSection
        TitleBarArea = ... # type: Qt.WindowFrameSection

    class SizeHint(int):
        MinimumSize = ... # type: Qt.SizeHint
        PreferredSize = ... # type: Qt.SizeHint
        MaximumSize = ... # type: Qt.SizeHint
        MinimumDescent = ... # type: Qt.SizeHint

    class SizeMode(int):
        AbsoluteSize = ... # type: Qt.SizeMode
        RelativeSize = ... # type: Qt.SizeMode

    class EventPriority(int):
        HighEventPriority = ... # type: Qt.EventPriority
        NormalEventPriority = ... # type: Qt.EventPriority
        LowEventPriority = ... # type: Qt.EventPriority

    class Axis(int):
        XAxis = ... # type: Qt.Axis
        YAxis = ... # type: Qt.Axis
        ZAxis = ... # type: Qt.Axis

    class MaskMode(int):
        MaskInColor = ... # type: Qt.MaskMode
        MaskOutColor = ... # type: Qt.MaskMode

    class TextInteractionFlag(int):
        NoTextInteraction = ... # type: Qt.TextInteractionFlag
        TextSelectableByMouse = ... # type: Qt.TextInteractionFlag
        TextSelectableByKeyboard = ... # type: Qt.TextInteractionFlag
        LinksAccessibleByMouse = ... # type: Qt.TextInteractionFlag
        LinksAccessibleByKeyboard = ... # type: Qt.TextInteractionFlag
        TextEditable = ... # type: Qt.TextInteractionFlag
        TextEditorInteraction = ... # type: Qt.TextInteractionFlag
        TextBrowserInteraction = ... # type: Qt.TextInteractionFlag

    class ItemSelectionMode(int):
        ContainsItemShape = ... # type: Qt.ItemSelectionMode
        IntersectsItemShape = ... # type: Qt.ItemSelectionMode
        ContainsItemBoundingRect = ... # type: Qt.ItemSelectionMode
        IntersectsItemBoundingRect = ... # type: Qt.ItemSelectionMode

    class ApplicationAttribute(int):
        AA_ImmediateWidgetCreation = ... # type: Qt.ApplicationAttribute
        AA_MSWindowsUseDirect3DByDefault = ... # type: Qt.ApplicationAttribute
        AA_DontShowIconsInMenus = ... # type: Qt.ApplicationAttribute
        AA_NativeWindows = ... # type: Qt.ApplicationAttribute
        AA_DontCreateNativeWidgetSiblings = ... # type: Qt.ApplicationAttribute
        AA_MacPluginApplication = ... # type: Qt.ApplicationAttribute
        AA_DontUseNativeMenuBar = ... # type: Qt.ApplicationAttribute
        AA_MacDontSwapCtrlAndMeta = ... # type: Qt.ApplicationAttribute
        AA_X11InitThreads = ... # type: Qt.ApplicationAttribute
        AA_Use96Dpi = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeTouchForUnhandledMouseEvents = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeMouseForUnhandledTouchEvents = ... # type: Qt.ApplicationAttribute
        AA_UseHighDpiPixmaps = ... # type: Qt.ApplicationAttribute
        AA_ForceRasterWidgets = ... # type: Qt.ApplicationAttribute
        AA_UseDesktopOpenGL = ... # type: Qt.ApplicationAttribute
        AA_UseOpenGLES = ... # type: Qt.ApplicationAttribute
        AA_UseSoftwareOpenGL = ... # type: Qt.ApplicationAttribute
        AA_ShareOpenGLContexts = ... # type: Qt.ApplicationAttribute
        AA_SetPalette = ... # type: Qt.ApplicationAttribute
        AA_EnableHighDpiScaling = ... # type: Qt.ApplicationAttribute
        AA_DisableHighDpiScaling = ... # type: Qt.ApplicationAttribute
        AA_PluginApplication = ... # type: Qt.ApplicationAttribute
        AA_UseStyleSheetPropagationInWidgetStyles = ... # type: Qt.ApplicationAttribute
        AA_DontUseNativeDialogs = ... # type: Qt.ApplicationAttribute
        AA_SynthesizeMouseForUnhandledTabletEvents = ... # type: Qt.ApplicationAttribute
        AA_CompressHighFrequencyEvents = ... # type: Qt.ApplicationAttribute
        AA_DontCheckOpenGLContextThreadAffinity = ... # type: Qt.ApplicationAttribute
        AA_DisableShaderDiskCache = ... # type: Qt.ApplicationAttribute
        AA_DontShowShortcutsInContextMenus = ... # type: Qt.ApplicationAttribute
        AA_CompressTabletEvents = ... # type: Qt.ApplicationAttribute
        AA_DisableWindowContextHelpButton = ... # type: Qt.ApplicationAttribute
        AA_DisableSessionManager = ... # type: Qt.ApplicationAttribute
        AA_DisableNativeVirtualKeyboard = ... # type: Qt.ApplicationAttribute

    class WindowModality(int):
        NonModal = ... # type: Qt.WindowModality
        WindowModal = ... # type: Qt.WindowModality
        ApplicationModal = ... # type: Qt.WindowModality

    class MatchFlag(int):
        MatchExactly = ... # type: Qt.MatchFlag
        MatchFixedString = ... # type: Qt.MatchFlag
        MatchContains = ... # type: Qt.MatchFlag
        MatchStartsWith = ... # type: Qt.MatchFlag
        MatchEndsWith = ... # type: Qt.MatchFlag
        MatchRegExp = ... # type: Qt.MatchFlag
        MatchWildcard = ... # type: Qt.MatchFlag
        MatchCaseSensitive = ... # type: Qt.MatchFlag
        MatchWrap = ... # type: Qt.MatchFlag
        MatchRecursive = ... # type: Qt.MatchFlag
        MatchRegularExpression = ... # type: Qt.MatchFlag

    class ItemFlag(int):
        NoItemFlags = ... # type: Qt.ItemFlag
        ItemIsSelectable = ... # type: Qt.ItemFlag
        ItemIsEditable = ... # type: Qt.ItemFlag
        ItemIsDragEnabled = ... # type: Qt.ItemFlag
        ItemIsDropEnabled = ... # type: Qt.ItemFlag
        ItemIsUserCheckable = ... # type: Qt.ItemFlag
        ItemIsEnabled = ... # type: Qt.ItemFlag
        ItemIsTristate = ... # type: Qt.ItemFlag
        ItemNeverHasChildren = ... # type: Qt.ItemFlag
        ItemIsUserTristate = ... # type: Qt.ItemFlag
        ItemIsAutoTristate = ... # type: Qt.ItemFlag

    class ItemDataRole(int):
        DisplayRole = ... # type: Qt.ItemDataRole
        DecorationRole = ... # type: Qt.ItemDataRole
        EditRole = ... # type: Qt.ItemDataRole
        ToolTipRole = ... # type: Qt.ItemDataRole
        StatusTipRole = ... # type: Qt.ItemDataRole
        WhatsThisRole = ... # type: Qt.ItemDataRole
        FontRole = ... # type: Qt.ItemDataRole
        TextAlignmentRole = ... # type: Qt.ItemDataRole
        BackgroundRole = ... # type: Qt.ItemDataRole
        BackgroundColorRole = ... # type: Qt.ItemDataRole
        ForegroundRole = ... # type: Qt.ItemDataRole
        TextColorRole = ... # type: Qt.ItemDataRole
        CheckStateRole = ... # type: Qt.ItemDataRole
        AccessibleTextRole = ... # type: Qt.ItemDataRole
        AccessibleDescriptionRole = ... # type: Qt.ItemDataRole
        SizeHintRole = ... # type: Qt.ItemDataRole
        InitialSortOrderRole = ... # type: Qt.ItemDataRole
        UserRole = ... # type: Qt.ItemDataRole

    class CheckState(int):
        Unchecked = ... # type: Qt.CheckState
        PartiallyChecked = ... # type: Qt.CheckState
        Checked = ... # type: Qt.CheckState

    class DropAction(int):
        CopyAction = ... # type: Qt.DropAction
        MoveAction = ... # type: Qt.DropAction
        LinkAction = ... # type: Qt.DropAction
        ActionMask = ... # type: Qt.DropAction
        TargetMoveAction = ... # type: Qt.DropAction
        IgnoreAction = ... # type: Qt.DropAction

    class LayoutDirection(int):
        LeftToRight = ... # type: Qt.LayoutDirection
        RightToLeft = ... # type: Qt.LayoutDirection
        LayoutDirectionAuto = ... # type: Qt.LayoutDirection

    class ToolButtonStyle(int):
        ToolButtonIconOnly = ... # type: Qt.ToolButtonStyle
        ToolButtonTextOnly = ... # type: Qt.ToolButtonStyle
        ToolButtonTextBesideIcon = ... # type: Qt.ToolButtonStyle
        ToolButtonTextUnderIcon = ... # type: Qt.ToolButtonStyle
        ToolButtonFollowStyle = ... # type: Qt.ToolButtonStyle

    class InputMethodQuery(int):
        ImMicroFocus = ... # type: Qt.InputMethodQuery
        ImFont = ... # type: Qt.InputMethodQuery
        ImCursorPosition = ... # type: Qt.InputMethodQuery
        ImSurroundingText = ... # type: Qt.InputMethodQuery
        ImCurrentSelection = ... # type: Qt.InputMethodQuery
        ImMaximumTextLength = ... # type: Qt.InputMethodQuery
        ImAnchorPosition = ... # type: Qt.InputMethodQuery
        ImEnabled = ... # type: Qt.InputMethodQuery
        ImCursorRectangle = ... # type: Qt.InputMethodQuery
        ImHints = ... # type: Qt.InputMethodQuery
        ImPreferredLanguage = ... # type: Qt.InputMethodQuery
        ImPlatformData = ... # type: Qt.InputMethodQuery
        ImQueryInput = ... # type: Qt.InputMethodQuery
        ImQueryAll = ... # type: Qt.InputMethodQuery
        ImAbsolutePosition = ... # type: Qt.InputMethodQuery
        ImTextBeforeCursor = ... # type: Qt.InputMethodQuery
        ImTextAfterCursor = ... # type: Qt.InputMethodQuery
        ImEnterKeyType = ... # type: Qt.InputMethodQuery
        ImAnchorRectangle = ... # type: Qt.InputMethodQuery
        ImInputItemClipRectangle = ... # type: Qt.InputMethodQuery

    class ContextMenuPolicy(int):
        NoContextMenu = ... # type: Qt.ContextMenuPolicy
        PreventContextMenu = ... # type: Qt.ContextMenuPolicy
        DefaultContextMenu = ... # type: Qt.ContextMenuPolicy
        ActionsContextMenu = ... # type: Qt.ContextMenuPolicy
        CustomContextMenu = ... # type: Qt.ContextMenuPolicy

    class FocusReason(int):
        MouseFocusReason = ... # type: Qt.FocusReason
        TabFocusReason = ... # type: Qt.FocusReason
        BacktabFocusReason = ... # type: Qt.FocusReason
        ActiveWindowFocusReason = ... # type: Qt.FocusReason
        PopupFocusReason = ... # type: Qt.FocusReason
        ShortcutFocusReason = ... # type: Qt.FocusReason
        MenuBarFocusReason = ... # type: Qt.FocusReason
        OtherFocusReason = ... # type: Qt.FocusReason
        NoFocusReason = ... # type: Qt.FocusReason

    class TransformationMode(int):
        FastTransformation = ... # type: Qt.TransformationMode
        SmoothTransformation = ... # type: Qt.TransformationMode

    class ClipOperation(int):
        NoClip = ... # type: Qt.ClipOperation
        ReplaceClip = ... # type: Qt.ClipOperation
        IntersectClip = ... # type: Qt.ClipOperation

    class FillRule(int):
        OddEvenFill = ... # type: Qt.FillRule
        WindingFill = ... # type: Qt.FillRule

    class ShortcutContext(int):
        WidgetShortcut = ... # type: Qt.ShortcutContext
        WindowShortcut = ... # type: Qt.ShortcutContext
        ApplicationShortcut = ... # type: Qt.ShortcutContext
        WidgetWithChildrenShortcut = ... # type: Qt.ShortcutContext

    class ConnectionType(int):
        AutoConnection = ... # type: Qt.ConnectionType
        DirectConnection = ... # type: Qt.ConnectionType
        QueuedConnection = ... # type: Qt.ConnectionType
        BlockingQueuedConnection = ... # type: Qt.ConnectionType
        UniqueConnection = ... # type: Qt.ConnectionType

    class Corner(int):
        TopLeftCorner = ... # type: Qt.Corner
        TopRightCorner = ... # type: Qt.Corner
        BottomLeftCorner = ... # type: Qt.Corner
        BottomRightCorner = ... # type: Qt.Corner

    class CaseSensitivity(int):
        CaseInsensitive = ... # type: Qt.CaseSensitivity
        CaseSensitive = ... # type: Qt.CaseSensitivity

    class ScrollBarPolicy(int):
        ScrollBarAsNeeded = ... # type: Qt.ScrollBarPolicy
        ScrollBarAlwaysOff = ... # type: Qt.ScrollBarPolicy
        ScrollBarAlwaysOn = ... # type: Qt.ScrollBarPolicy

    class DayOfWeek(int):
        Monday = ... # type: Qt.DayOfWeek
        Tuesday = ... # type: Qt.DayOfWeek
        Wednesday = ... # type: Qt.DayOfWeek
        Thursday = ... # type: Qt.DayOfWeek
        Friday = ... # type: Qt.DayOfWeek
        Saturday = ... # type: Qt.DayOfWeek
        Sunday = ... # type: Qt.DayOfWeek

    class TimeSpec(int):
        LocalTime = ... # type: Qt.TimeSpec
        UTC = ... # type: Qt.TimeSpec
        OffsetFromUTC = ... # type: Qt.TimeSpec
        TimeZone = ... # type: Qt.TimeSpec

    class DateFormat(int):
        TextDate = ... # type: Qt.DateFormat
        ISODate = ... # type: Qt.DateFormat
        ISODateWithMs = ... # type: Qt.DateFormat
        LocalDate = ... # type: Qt.DateFormat
        SystemLocaleDate = ... # type: Qt.DateFormat
        LocaleDate = ... # type: Qt.DateFormat
        SystemLocaleShortDate = ... # type: Qt.DateFormat
        SystemLocaleLongDate = ... # type: Qt.DateFormat
        DefaultLocaleShortDate = ... # type: Qt.DateFormat
        DefaultLocaleLongDate = ... # type: Qt.DateFormat
        RFC2822Date = ... # type: Qt.DateFormat

    class ToolBarArea(int):
        LeftToolBarArea = ... # type: Qt.ToolBarArea
        RightToolBarArea = ... # type: Qt.ToolBarArea
        TopToolBarArea = ... # type: Qt.ToolBarArea
        BottomToolBarArea = ... # type: Qt.ToolBarArea
        ToolBarArea_Mask = ... # type: Qt.ToolBarArea
        AllToolBarAreas = ... # type: Qt.ToolBarArea
        NoToolBarArea = ... # type: Qt.ToolBarArea

    class TimerType(int):
        PreciseTimer = ... # type: Qt.TimerType
        CoarseTimer = ... # type: Qt.TimerType
        VeryCoarseTimer = ... # type: Qt.TimerType

    class DockWidgetArea(int):
        LeftDockWidgetArea = ... # type: Qt.DockWidgetArea
        RightDockWidgetArea = ... # type: Qt.DockWidgetArea
        TopDockWidgetArea = ... # type: Qt.DockWidgetArea
        BottomDockWidgetArea = ... # type: Qt.DockWidgetArea
        DockWidgetArea_Mask = ... # type: Qt.DockWidgetArea
        AllDockWidgetAreas = ... # type: Qt.DockWidgetArea
        NoDockWidgetArea = ... # type: Qt.DockWidgetArea

    class AspectRatioMode(int):
        IgnoreAspectRatio = ... # type: Qt.AspectRatioMode
        KeepAspectRatio = ... # type: Qt.AspectRatioMode
        KeepAspectRatioByExpanding = ... # type: Qt.AspectRatioMode

    class TextFormat(int):
        PlainText = ... # type: Qt.TextFormat
        RichText = ... # type: Qt.TextFormat
        AutoText = ... # type: Qt.TextFormat
        MarkdownText = ... # type: Qt.TextFormat

    class CursorShape(int):
        ArrowCursor = ... # type: Qt.CursorShape
        UpArrowCursor = ... # type: Qt.CursorShape
        CrossCursor = ... # type: Qt.CursorShape
        WaitCursor = ... # type: Qt.CursorShape
        IBeamCursor = ... # type: Qt.CursorShape
        SizeVerCursor = ... # type: Qt.CursorShape
        SizeHorCursor = ... # type: Qt.CursorShape
        SizeBDiagCursor = ... # type: Qt.CursorShape
        SizeFDiagCursor = ... # type: Qt.CursorShape
        SizeAllCursor = ... # type: Qt.CursorShape
        BlankCursor = ... # type: Qt.CursorShape
        SplitVCursor = ... # type: Qt.CursorShape
        SplitHCursor = ... # type: Qt.CursorShape
        PointingHandCursor = ... # type: Qt.CursorShape
        ForbiddenCursor = ... # type: Qt.CursorShape
        OpenHandCursor = ... # type: Qt.CursorShape
        ClosedHandCursor = ... # type: Qt.CursorShape
        WhatsThisCursor = ... # type: Qt.CursorShape
        BusyCursor = ... # type: Qt.CursorShape
        LastCursor = ... # type: Qt.CursorShape
        BitmapCursor = ... # type: Qt.CursorShape
        CustomCursor = ... # type: Qt.CursorShape
        DragCopyCursor = ... # type: Qt.CursorShape
        DragMoveCursor = ... # type: Qt.CursorShape
        DragLinkCursor = ... # type: Qt.CursorShape

    class UIEffect(int):
        UI_General = ... # type: Qt.UIEffect
        UI_AnimateMenu = ... # type: Qt.UIEffect
        UI_FadeMenu = ... # type: Qt.UIEffect
        UI_AnimateCombo = ... # type: Qt.UIEffect
        UI_AnimateTooltip = ... # type: Qt.UIEffect
        UI_FadeTooltip = ... # type: Qt.UIEffect
        UI_AnimateToolBox = ... # type: Qt.UIEffect

    class BrushStyle(int):
        NoBrush = ... # type: Qt.BrushStyle
        SolidPattern = ... # type: Qt.BrushStyle
        Dense1Pattern = ... # type: Qt.BrushStyle
        Dense2Pattern = ... # type: Qt.BrushStyle
        Dense3Pattern = ... # type: Qt.BrushStyle
        Dense4Pattern = ... # type: Qt.BrushStyle
        Dense5Pattern = ... # type: Qt.BrushStyle
        Dense6Pattern = ... # type: Qt.BrushStyle
        Dense7Pattern = ... # type: Qt.BrushStyle
        HorPattern = ... # type: Qt.BrushStyle
        VerPattern = ... # type: Qt.BrushStyle
        CrossPattern = ... # type: Qt.BrushStyle
        BDiagPattern = ... # type: Qt.BrushStyle
        FDiagPattern = ... # type: Qt.BrushStyle
        DiagCrossPattern = ... # type: Qt.BrushStyle
        LinearGradientPattern = ... # type: Qt.BrushStyle
        RadialGradientPattern = ... # type: Qt.BrushStyle
        ConicalGradientPattern = ... # type: Qt.BrushStyle
        TexturePattern = ... # type: Qt.BrushStyle

    class PenJoinStyle(int):
        MiterJoin = ... # type: Qt.PenJoinStyle
        BevelJoin = ... # type: Qt.PenJoinStyle
        RoundJoin = ... # type: Qt.PenJoinStyle
        MPenJoinStyle = ... # type: Qt.PenJoinStyle
        SvgMiterJoin = ... # type: Qt.PenJoinStyle

    class PenCapStyle(int):
        FlatCap = ... # type: Qt.PenCapStyle
        SquareCap = ... # type: Qt.PenCapStyle
        RoundCap = ... # type: Qt.PenCapStyle
        MPenCapStyle = ... # type: Qt.PenCapStyle

    class PenStyle(int):
        NoPen = ... # type: Qt.PenStyle
        SolidLine = ... # type: Qt.PenStyle
        DashLine = ... # type: Qt.PenStyle
        DotLine = ... # type: Qt.PenStyle
        DashDotLine = ... # type: Qt.PenStyle
        DashDotDotLine = ... # type: Qt.PenStyle
        CustomDashLine = ... # type: Qt.PenStyle
        MPenStyle = ... # type: Qt.PenStyle

    class ArrowType(int):
        NoArrow = ... # type: Qt.ArrowType
        UpArrow = ... # type: Qt.ArrowType
        DownArrow = ... # type: Qt.ArrowType
        LeftArrow = ... # type: Qt.ArrowType
        RightArrow = ... # type: Qt.ArrowType

    class Key(int):
        Key_Escape = ... # type: Qt.Key
        Key_Tab = ... # type: Qt.Key
        Key_Backtab = ... # type: Qt.Key
        Key_Backspace = ... # type: Qt.Key
        Key_Return = ... # type: Qt.Key
        Key_Enter = ... # type: Qt.Key
        Key_Insert = ... # type: Qt.Key
        Key_Delete = ... # type: Qt.Key
        Key_Pause = ... # type: Qt.Key
        Key_Print = ... # type: Qt.Key
        Key_SysReq = ... # type: Qt.Key
        Key_Clear = ... # type: Qt.Key
        Key_Home = ... # type: Qt.Key
        Key_End = ... # type: Qt.Key
        Key_Left = ... # type: Qt.Key
        Key_Up = ... # type: Qt.Key
        Key_Right = ... # type: Qt.Key
        Key_Down = ... # type: Qt.Key
        Key_PageUp = ... # type: Qt.Key
        Key_PageDown = ... # type: Qt.Key
        Key_Shift = ... # type: Qt.Key
        Key_Control = ... # type: Qt.Key
        Key_Meta = ... # type: Qt.Key
        Key_Alt = ... # type: Qt.Key
        Key_CapsLock = ... # type: Qt.Key
        Key_NumLock = ... # type: Qt.Key
        Key_ScrollLock = ... # type: Qt.Key
        Key_F1 = ... # type: Qt.Key
        Key_F2 = ... # type: Qt.Key
        Key_F3 = ... # type: Qt.Key
        Key_F4 = ... # type: Qt.Key
        Key_F5 = ... # type: Qt.Key
        Key_F6 = ... # type: Qt.Key
        Key_F7 = ... # type: Qt.Key
        Key_F8 = ... # type: Qt.Key
        Key_F9 = ... # type: Qt.Key
        Key_F10 = ... # type: Qt.Key
        Key_F11 = ... # type: Qt.Key
        Key_F12 = ... # type: Qt.Key
        Key_F13 = ... # type: Qt.Key
        Key_F14 = ... # type: Qt.Key
        Key_F15 = ... # type: Qt.Key
        Key_F16 = ... # type: Qt.Key
        Key_F17 = ... # type: Qt.Key
        Key_F18 = ... # type: Qt.Key
        Key_F19 = ... # type: Qt.Key
        Key_F20 = ... # type: Qt.Key
        Key_F21 = ... # type: Qt.Key
        Key_F22 = ... # type: Qt.Key
        Key_F23 = ... # type: Qt.Key
        Key_F24 = ... # type: Qt.Key
        Key_F25 = ... # type: Qt.Key
        Key_F26 = ... # type: Qt.Key
        Key_F27 = ... # type: Qt.Key
        Key_F28 = ... # type: Qt.Key
        Key_F29 = ... # type: Qt.Key
        Key_F30 = ... # type: Qt.Key
        Key_F31 = ... # type: Qt.Key
        Key_F32 = ... # type: Qt.Key
        Key_F33 = ... # type: Qt.Key
        Key_F34 = ... # type: Qt.Key
        Key_F35 = ... # type: Qt.Key
        Key_Super_L = ... # type: Qt.Key
        Key_Super_R = ... # type: Qt.Key
        Key_Menu = ... # type: Qt.Key
        Key_Hyper_L = ... # type: Qt.Key
        Key_Hyper_R = ... # type: Qt.Key
        Key_Help = ... # type: Qt.Key
        Key_Direction_L = ... # type: Qt.Key
        Key_Direction_R = ... # type: Qt.Key
        Key_Space = ... # type: Qt.Key
        Key_Any = ... # type: Qt.Key
        Key_Exclam = ... # type: Qt.Key
        Key_QuoteDbl = ... # type: Qt.Key
        Key_NumberSign = ... # type: Qt.Key
        Key_Dollar = ... # type: Qt.Key
        Key_Percent = ... # type: Qt.Key
        Key_Ampersand = ... # type: Qt.Key
        Key_Apostrophe = ... # type: Qt.Key
        Key_ParenLeft = ... # type: Qt.Key
        Key_ParenRight = ... # type: Qt.Key
        Key_Asterisk = ... # type: Qt.Key
        Key_Plus = ... # type: Qt.Key
        Key_Comma = ... # type: Qt.Key
        Key_Minus = ... # type: Qt.Key
        Key_Period = ... # type: Qt.Key
        Key_Slash = ... # type: Qt.Key
        Key_0 = ... # type: Qt.Key
        Key_1 = ... # type: Qt.Key
        Key_2 = ... # type: Qt.Key
        Key_3 = ... # type: Qt.Key
        Key_4 = ... # type: Qt.Key
        Key_5 = ... # type: Qt.Key
        Key_6 = ... # type: Qt.Key
        Key_7 = ... # type: Qt.Key
        Key_8 = ... # type: Qt.Key
        Key_9 = ... # type: Qt.Key
        Key_Colon = ... # type: Qt.Key
        Key_Semicolon = ... # type: Qt.Key
        Key_Less = ... # type: Qt.Key
        Key_Equal = ... # type: Qt.Key
        Key_Greater = ... # type: Qt.Key
        Key_Question = ... # type: Qt.Key
        Key_At = ... # type: Qt.Key
        Key_A = ... # type: Qt.Key
        Key_B = ... # type: Qt.Key
        Key_C = ... # type: Qt.Key
        Key_D = ... # type: Qt.Key
        Key_E = ... # type: Qt.Key
        Key_F = ... # type: Qt.Key
        Key_G = ... # type: Qt.Key
        Key_H = ... # type: Qt.Key
        Key_I = ... # type: Qt.Key
        Key_J = ... # type: Qt.Key
        Key_K = ... # type: Qt.Key
        Key_L = ... # type: Qt.Key
        Key_M = ... # type: Qt.Key
        Key_N = ... # type: Qt.Key
        Key_O = ... # type: Qt.Key
        Key_P = ... # type: Qt.Key
        Key_Q = ... # type: Qt.Key
        Key_R = ... # type: Qt.Key
        Key_S = ... # type: Qt.Key
        Key_T = ... # type: Qt.Key
        Key_U = ... # type: Qt.Key
        Key_V = ... # type: Qt.Key
        Key_W = ... # type: Qt.Key
        Key_X = ... # type: Qt.Key
        Key_Y = ... # type: Qt.Key
        Key_Z = ... # type: Qt.Key
        Key_BracketLeft = ... # type: Qt.Key
        Key_Backslash = ... # type: Qt.Key
        Key_BracketRight = ... # type: Qt.Key
        Key_AsciiCircum = ... # type: Qt.Key
        Key_Underscore = ... # type: Qt.Key
        Key_QuoteLeft = ... # type: Qt.Key
        Key_BraceLeft = ... # type: Qt.Key
        Key_Bar = ... # type: Qt.Key
        Key_BraceRight = ... # type: Qt.Key
        Key_AsciiTilde = ... # type: Qt.Key
        Key_nobreakspace = ... # type: Qt.Key
        Key_exclamdown = ... # type: Qt.Key
        Key_cent = ... # type: Qt.Key
        Key_sterling = ... # type: Qt.Key
        Key_currency = ... # type: Qt.Key
        Key_yen = ... # type: Qt.Key
        Key_brokenbar = ... # type: Qt.Key
        Key_section = ... # type: Qt.Key
        Key_diaeresis = ... # type: Qt.Key
        Key_copyright = ... # type: Qt.Key
        Key_ordfeminine = ... # type: Qt.Key
        Key_guillemotleft = ... # type: Qt.Key
        Key_notsign = ... # type: Qt.Key
        Key_hyphen = ... # type: Qt.Key
        Key_registered = ... # type: Qt.Key
        Key_macron = ... # type: Qt.Key
        Key_degree = ... # type: Qt.Key
        Key_plusminus = ... # type: Qt.Key
        Key_twosuperior = ... # type: Qt.Key
        Key_threesuperior = ... # type: Qt.Key
        Key_acute = ... # type: Qt.Key
        Key_mu = ... # type: Qt.Key
        Key_paragraph = ... # type: Qt.Key
        Key_periodcentered = ... # type: Qt.Key
        Key_cedilla = ... # type: Qt.Key
        Key_onesuperior = ... # type: Qt.Key
        Key_masculine = ... # type: Qt.Key
        Key_guillemotright = ... # type: Qt.Key
        Key_onequarter = ... # type: Qt.Key
        Key_onehalf = ... # type: Qt.Key
        Key_threequarters = ... # type: Qt.Key
        Key_questiondown = ... # type: Qt.Key
        Key_Agrave = ... # type: Qt.Key
        Key_Aacute = ... # type: Qt.Key
        Key_Acircumflex = ... # type: Qt.Key
        Key_Atilde = ... # type: Qt.Key
        Key_Adiaeresis = ... # type: Qt.Key
        Key_Aring = ... # type: Qt.Key
        Key_AE = ... # type: Qt.Key
        Key_Ccedilla = ... # type: Qt.Key
        Key_Egrave = ... # type: Qt.Key
        Key_Eacute = ... # type: Qt.Key
        Key_Ecircumflex = ... # type: Qt.Key
        Key_Ediaeresis = ... # type: Qt.Key
        Key_Igrave = ... # type: Qt.Key
        Key_Iacute = ... # type: Qt.Key
        Key_Icircumflex = ... # type: Qt.Key
        Key_Idiaeresis = ... # type: Qt.Key
        Key_ETH = ... # type: Qt.Key
        Key_Ntilde = ... # type: Qt.Key
        Key_Ograve = ... # type: Qt.Key
        Key_Oacute = ... # type: Qt.Key
        Key_Ocircumflex = ... # type: Qt.Key
        Key_Otilde = ... # type: Qt.Key
        Key_Odiaeresis = ... # type: Qt.Key
        Key_multiply = ... # type: Qt.Key
        Key_Ooblique = ... # type: Qt.Key
        Key_Ugrave = ... # type: Qt.Key
        Key_Uacute = ... # type: Qt.Key
        Key_Ucircumflex = ... # type: Qt.Key
        Key_Udiaeresis = ... # type: Qt.Key
        Key_Yacute = ... # type: Qt.Key
        Key_THORN = ... # type: Qt.Key
        Key_ssharp = ... # type: Qt.Key
        Key_division = ... # type: Qt.Key
        Key_ydiaeresis = ... # type: Qt.Key
        Key_AltGr = ... # type: Qt.Key
        Key_Multi_key = ... # type: Qt.Key
        Key_Codeinput = ... # type: Qt.Key
        Key_SingleCandidate = ... # type: Qt.Key
        Key_MultipleCandidate = ... # type: Qt.Key
        Key_PreviousCandidate = ... # type: Qt.Key
        Key_Mode_switch = ... # type: Qt.Key
        Key_Kanji = ... # type: Qt.Key
        Key_Muhenkan = ... # type: Qt.Key
        Key_Henkan = ... # type: Qt.Key
        Key_Romaji = ... # type: Qt.Key
        Key_Hiragana = ... # type: Qt.Key
        Key_Katakana = ... # type: Qt.Key
        Key_Hiragana_Katakana = ... # type: Qt.Key
        Key_Zenkaku = ... # type: Qt.Key
        Key_Hankaku = ... # type: Qt.Key
        Key_Zenkaku_Hankaku = ... # type: Qt.Key
        Key_Touroku = ... # type: Qt.Key
        Key_Massyo = ... # type: Qt.Key
        Key_Kana_Lock = ... # type: Qt.Key
        Key_Kana_Shift = ... # type: Qt.Key
        Key_Eisu_Shift = ... # type: Qt.Key
        Key_Eisu_toggle = ... # type: Qt.Key
        Key_Hangul = ... # type: Qt.Key
        Key_Hangul_Start = ... # type: Qt.Key
        Key_Hangul_End = ... # type: Qt.Key
        Key_Hangul_Hanja = ... # type: Qt.Key
        Key_Hangul_Jamo = ... # type: Qt.Key
        Key_Hangul_Romaja = ... # type: Qt.Key
        Key_Hangul_Jeonja = ... # type: Qt.Key
        Key_Hangul_Banja = ... # type: Qt.Key
        Key_Hangul_PreHanja = ... # type: Qt.Key
        Key_Hangul_PostHanja = ... # type: Qt.Key
        Key_Hangul_Special = ... # type: Qt.Key
        Key_Dead_Grave = ... # type: Qt.Key
        Key_Dead_Acute = ... # type: Qt.Key
        Key_Dead_Circumflex = ... # type: Qt.Key
        Key_Dead_Tilde = ... # type: Qt.Key
        Key_Dead_Macron = ... # type: Qt.Key
        Key_Dead_Breve = ... # type: Qt.Key
        Key_Dead_Abovedot = ... # type: Qt.Key
        Key_Dead_Diaeresis = ... # type: Qt.Key
        Key_Dead_Abovering = ... # type: Qt.Key
        Key_Dead_Doubleacute = ... # type: Qt.Key
        Key_Dead_Caron = ... # type: Qt.Key
        Key_Dead_Cedilla = ... # type: Qt.Key
        Key_Dead_Ogonek = ... # type: Qt.Key
        Key_Dead_Iota = ... # type: Qt.Key
        Key_Dead_Voiced_Sound = ... # type: Qt.Key
        Key_Dead_Semivoiced_Sound = ... # type: Qt.Key
        Key_Dead_Belowdot = ... # type: Qt.Key
        Key_Dead_Hook = ... # type: Qt.Key
        Key_Dead_Horn = ... # type: Qt.Key
        Key_Back = ... # type: Qt.Key
        Key_Forward = ... # type: Qt.Key
        Key_Stop = ... # type: Qt.Key
        Key_Refresh = ... # type: Qt.Key
        Key_VolumeDown = ... # type: Qt.Key
        Key_VolumeMute = ... # type: Qt.Key
        Key_VolumeUp = ... # type: Qt.Key
        Key_BassBoost = ... # type: Qt.Key
        Key_BassUp = ... # type: Qt.Key
        Key_BassDown = ... # type: Qt.Key
        Key_TrebleUp = ... # type: Qt.Key
        Key_TrebleDown = ... # type: Qt.Key
        Key_MediaPlay = ... # type: Qt.Key
        Key_MediaStop = ... # type: Qt.Key
        Key_MediaPrevious = ... # type: Qt.Key
        Key_MediaNext = ... # type: Qt.Key
        Key_MediaRecord = ... # type: Qt.Key
        Key_HomePage = ... # type: Qt.Key
        Key_Favorites = ... # type: Qt.Key
        Key_Search = ... # type: Qt.Key
        Key_Standby = ... # type: Qt.Key
        Key_OpenUrl = ... # type: Qt.Key
        Key_LaunchMail = ... # type: Qt.Key
        Key_LaunchMedia = ... # type: Qt.Key
        Key_Launch0 = ... # type: Qt.Key
        Key_Launch1 = ... # type: Qt.Key
        Key_Launch2 = ... # type: Qt.Key
        Key_Launch3 = ... # type: Qt.Key
        Key_Launch4 = ... # type: Qt.Key
        Key_Launch5 = ... # type: Qt.Key
        Key_Launch6 = ... # type: Qt.Key
        Key_Launch7 = ... # type: Qt.Key
        Key_Launch8 = ... # type: Qt.Key
        Key_Launch9 = ... # type: Qt.Key
        Key_LaunchA = ... # type: Qt.Key
        Key_LaunchB = ... # type: Qt.Key
        Key_LaunchC = ... # type: Qt.Key
        Key_LaunchD = ... # type: Qt.Key
        Key_LaunchE = ... # type: Qt.Key
        Key_LaunchF = ... # type: Qt.Key
        Key_MediaLast = ... # type: Qt.Key
        Key_Select = ... # type: Qt.Key
        Key_Yes = ... # type: Qt.Key
        Key_No = ... # type: Qt.Key
        Key_Context1 = ... # type: Qt.Key
        Key_Context2 = ... # type: Qt.Key
        Key_Context3 = ... # type: Qt.Key
        Key_Context4 = ... # type: Qt.Key
        Key_Call = ... # type: Qt.Key
        Key_Hangup = ... # type: Qt.Key
        Key_Flip = ... # type: Qt.Key
        Key_unknown = ... # type: Qt.Key
        Key_Execute = ... # type: Qt.Key
        Key_Printer = ... # type: Qt.Key
        Key_Play = ... # type: Qt.Key
        Key_Sleep = ... # type: Qt.Key
        Key_Zoom = ... # type: Qt.Key
        Key_Cancel = ... # type: Qt.Key
        Key_MonBrightnessUp = ... # type: Qt.Key
        Key_MonBrightnessDown = ... # type: Qt.Key
        Key_KeyboardLightOnOff = ... # type: Qt.Key
        Key_KeyboardBrightnessUp = ... # type: Qt.Key
        Key_KeyboardBrightnessDown = ... # type: Qt.Key
        Key_PowerOff = ... # type: Qt.Key
        Key_WakeUp = ... # type: Qt.Key
        Key_Eject = ... # type: Qt.Key
        Key_ScreenSaver = ... # type: Qt.Key
        Key_WWW = ... # type: Qt.Key
        Key_Memo = ... # type: Qt.Key
        Key_LightBulb = ... # type: Qt.Key
        Key_Shop = ... # type: Qt.Key
        Key_History = ... # type: Qt.Key
        Key_AddFavorite = ... # type: Qt.Key
        Key_HotLinks = ... # type: Qt.Key
        Key_BrightnessAdjust = ... # type: Qt.Key
        Key_Finance = ... # type: Qt.Key
        Key_Community = ... # type: Qt.Key
        Key_AudioRewind = ... # type: Qt.Key
        Key_BackForward = ... # type: Qt.Key
        Key_ApplicationLeft = ... # type: Qt.Key
        Key_ApplicationRight = ... # type: Qt.Key
        Key_Book = ... # type: Qt.Key
        Key_CD = ... # type: Qt.Key
        Key_Calculator = ... # type: Qt.Key
        Key_ToDoList = ... # type: Qt.Key
        Key_ClearGrab = ... # type: Qt.Key
        Key_Close = ... # type: Qt.Key
        Key_Copy = ... # type: Qt.Key
        Key_Cut = ... # type: Qt.Key
        Key_Display = ... # type: Qt.Key
        Key_DOS = ... # type: Qt.Key
        Key_Documents = ... # type: Qt.Key
        Key_Excel = ... # type: Qt.Key
        Key_Explorer = ... # type: Qt.Key
        Key_Game = ... # type: Qt.Key
        Key_Go = ... # type: Qt.Key
        Key_iTouch = ... # type: Qt.Key
        Key_LogOff = ... # type: Qt.Key
        Key_Market = ... # type: Qt.Key
        Key_Meeting = ... # type: Qt.Key
        Key_MenuKB = ... # type: Qt.Key
        Key_MenuPB = ... # type: Qt.Key
        Key_MySites = ... # type: Qt.Key
        Key_News = ... # type: Qt.Key
        Key_OfficeHome = ... # type: Qt.Key
        Key_Option = ... # type: Qt.Key
        Key_Paste = ... # type: Qt.Key
        Key_Phone = ... # type: Qt.Key
        Key_Calendar = ... # type: Qt.Key
        Key_Reply = ... # type: Qt.Key
        Key_Reload = ... # type: Qt.Key
        Key_RotateWindows = ... # type: Qt.Key
        Key_RotationPB = ... # type: Qt.Key
        Key_RotationKB = ... # type: Qt.Key
        Key_Save = ... # type: Qt.Key
        Key_Send = ... # type: Qt.Key
        Key_Spell = ... # type: Qt.Key
        Key_SplitScreen = ... # type: Qt.Key
        Key_Support = ... # type: Qt.Key
        Key_TaskPane = ... # type: Qt.Key
        Key_Terminal = ... # type: Qt.Key
        Key_Tools = ... # type: Qt.Key
        Key_Travel = ... # type: Qt.Key
        Key_Video = ... # type: Qt.Key
        Key_Word = ... # type: Qt.Key
        Key_Xfer = ... # type: Qt.Key
        Key_ZoomIn = ... # type: Qt.Key
        Key_ZoomOut = ... # type: Qt.Key
        Key_Away = ... # type: Qt.Key
        Key_Messenger = ... # type: Qt.Key
        Key_WebCam = ... # type: Qt.Key
        Key_MailForward = ... # type: Qt.Key
        Key_Pictures = ... # type: Qt.Key
        Key_Music = ... # type: Qt.Key
        Key_Battery = ... # type: Qt.Key
        Key_Bluetooth = ... # type: Qt.Key
        Key_WLAN = ... # type: Qt.Key
        Key_UWB = ... # type: Qt.Key
        Key_AudioForward = ... # type: Qt.Key
        Key_AudioRepeat = ... # type: Qt.Key
        Key_AudioRandomPlay = ... # type: Qt.Key
        Key_Subtitle = ... # type: Qt.Key
        Key_AudioCycleTrack = ... # type: Qt.Key
        Key_Time = ... # type: Qt.Key
        Key_Hibernate = ... # type: Qt.Key
        Key_View = ... # type: Qt.Key
        Key_TopMenu = ... # type: Qt.Key
        Key_PowerDown = ... # type: Qt.Key
        Key_Suspend = ... # type: Qt.Key
        Key_ContrastAdjust = ... # type: Qt.Key
        Key_MediaPause = ... # type: Qt.Key
        Key_MediaTogglePlayPause = ... # type: Qt.Key
        Key_LaunchG = ... # type: Qt.Key
        Key_LaunchH = ... # type: Qt.Key
        Key_ToggleCallHangup = ... # type: Qt.Key
        Key_VoiceDial = ... # type: Qt.Key
        Key_LastNumberRedial = ... # type: Qt.Key
        Key_Camera = ... # type: Qt.Key
        Key_CameraFocus = ... # type: Qt.Key
        Key_TouchpadToggle = ... # type: Qt.Key
        Key_TouchpadOn = ... # type: Qt.Key
        Key_TouchpadOff = ... # type: Qt.Key
        Key_MicMute = ... # type: Qt.Key
        Key_Red = ... # type: Qt.Key
        Key_Green = ... # type: Qt.Key
        Key_Yellow = ... # type: Qt.Key
        Key_Blue = ... # type: Qt.Key
        Key_ChannelUp = ... # type: Qt.Key
        Key_ChannelDown = ... # type: Qt.Key
        Key_Guide = ... # type: Qt.Key
        Key_Info = ... # type: Qt.Key
        Key_Settings = ... # type: Qt.Key
        Key_Exit = ... # type: Qt.Key
        Key_MicVolumeUp = ... # type: Qt.Key
        Key_MicVolumeDown = ... # type: Qt.Key
        Key_New = ... # type: Qt.Key
        Key_Open = ... # type: Qt.Key
        Key_Find = ... # type: Qt.Key
        Key_Undo = ... # type: Qt.Key
        Key_Redo = ... # type: Qt.Key
        Key_Dead_Stroke = ... # type: Qt.Key
        Key_Dead_Abovecomma = ... # type: Qt.Key
        Key_Dead_Abovereversedcomma = ... # type: Qt.Key
        Key_Dead_Doublegrave = ... # type: Qt.Key
        Key_Dead_Belowring = ... # type: Qt.Key
        Key_Dead_Belowmacron = ... # type: Qt.Key
        Key_Dead_Belowcircumflex = ... # type: Qt.Key
        Key_Dead_Belowtilde = ... # type: Qt.Key
        Key_Dead_Belowbreve = ... # type: Qt.Key
        Key_Dead_Belowdiaeresis = ... # type: Qt.Key
        Key_Dead_Invertedbreve = ... # type: Qt.Key
        Key_Dead_Belowcomma = ... # type: Qt.Key
        Key_Dead_Currency = ... # type: Qt.Key
        Key_Dead_a = ... # type: Qt.Key
        Key_Dead_A = ... # type: Qt.Key
        Key_Dead_e = ... # type: Qt.Key
        Key_Dead_E = ... # type: Qt.Key
        Key_Dead_i = ... # type: Qt.Key
        Key_Dead_I = ... # type: Qt.Key
        Key_Dead_o = ... # type: Qt.Key
        Key_Dead_O = ... # type: Qt.Key
        Key_Dead_u = ... # type: Qt.Key
        Key_Dead_U = ... # type: Qt.Key
        Key_Dead_Small_Schwa = ... # type: Qt.Key
        Key_Dead_Capital_Schwa = ... # type: Qt.Key
        Key_Dead_Greek = ... # type: Qt.Key
        Key_Dead_Lowline = ... # type: Qt.Key
        Key_Dead_Aboveverticalline = ... # type: Qt.Key
        Key_Dead_Belowverticalline = ... # type: Qt.Key
        Key_Dead_Longsolidusoverlay = ... # type: Qt.Key

    class BGMode(int):
        TransparentMode = ... # type: Qt.BGMode
        OpaqueMode = ... # type: Qt.BGMode

    class ImageConversionFlag(int):
        AutoColor = ... # type: Qt.ImageConversionFlag
        ColorOnly = ... # type: Qt.ImageConversionFlag
        MonoOnly = ... # type: Qt.ImageConversionFlag
        ThresholdAlphaDither = ... # type: Qt.ImageConversionFlag
        OrderedAlphaDither = ... # type: Qt.ImageConversionFlag
        DiffuseAlphaDither = ... # type: Qt.ImageConversionFlag
        DiffuseDither = ... # type: Qt.ImageConversionFlag
        OrderedDither = ... # type: Qt.ImageConversionFlag
        ThresholdDither = ... # type: Qt.ImageConversionFlag
        AutoDither = ... # type: Qt.ImageConversionFlag
        PreferDither = ... # type: Qt.ImageConversionFlag
        AvoidDither = ... # type: Qt.ImageConversionFlag
        NoOpaqueDetection = ... # type: Qt.ImageConversionFlag
        NoFormatConversion = ... # type: Qt.ImageConversionFlag

    class WidgetAttribute(int):
        WA_Disabled = ... # type: Qt.WidgetAttribute
        WA_UnderMouse = ... # type: Qt.WidgetAttribute
        WA_MouseTracking = ... # type: Qt.WidgetAttribute
        WA_OpaquePaintEvent = ... # type: Qt.WidgetAttribute
        WA_StaticContents = ... # type: Qt.WidgetAttribute
        WA_LaidOut = ... # type: Qt.WidgetAttribute
        WA_PaintOnScreen = ... # type: Qt.WidgetAttribute
        WA_NoSystemBackground = ... # type: Qt.WidgetAttribute
        WA_UpdatesDisabled = ... # type: Qt.WidgetAttribute
        WA_Mapped = ... # type: Qt.WidgetAttribute
        WA_MacNoClickThrough = ... # type: Qt.WidgetAttribute
        WA_InputMethodEnabled = ... # type: Qt.WidgetAttribute
        WA_WState_Visible = ... # type: Qt.WidgetAttribute
        WA_WState_Hidden = ... # type: Qt.WidgetAttribute
        WA_ForceDisabled = ... # type: Qt.WidgetAttribute
        WA_KeyCompression = ... # type: Qt.WidgetAttribute
        WA_PendingMoveEvent = ... # type: Qt.WidgetAttribute
        WA_PendingResizeEvent = ... # type: Qt.WidgetAttribute
        WA_SetPalette = ... # type: Qt.WidgetAttribute
        WA_SetFont = ... # type: Qt.WidgetAttribute
        WA_SetCursor = ... # type: Qt.WidgetAttribute
        WA_NoChildEventsFromChildren = ... # type: Qt.WidgetAttribute
        WA_WindowModified = ... # type: Qt.WidgetAttribute
        WA_Resized = ... # type: Qt.WidgetAttribute
        WA_Moved = ... # type: Qt.WidgetAttribute
        WA_PendingUpdate = ... # type: Qt.WidgetAttribute
        WA_InvalidSize = ... # type: Qt.WidgetAttribute
        WA_MacMetalStyle = ... # type: Qt.WidgetAttribute
        WA_CustomWhatsThis = ... # type: Qt.WidgetAttribute
        WA_LayoutOnEntireRect = ... # type: Qt.WidgetAttribute
        WA_OutsideWSRange = ... # type: Qt.WidgetAttribute
        WA_GrabbedShortcut = ... # type: Qt.WidgetAttribute
        WA_TransparentForMouseEvents = ... # type: Qt.WidgetAttribute
        WA_PaintUnclipped = ... # type: Qt.WidgetAttribute
        WA_SetWindowIcon = ... # type: Qt.WidgetAttribute
        WA_NoMouseReplay = ... # type: Qt.WidgetAttribute
        WA_DeleteOnClose = ... # type: Qt.WidgetAttribute
        WA_RightToLeft = ... # type: Qt.WidgetAttribute
        WA_SetLayoutDirection = ... # type: Qt.WidgetAttribute
        WA_NoChildEventsForParent = ... # type: Qt.WidgetAttribute
        WA_ForceUpdatesDisabled = ... # type: Qt.WidgetAttribute
        WA_WState_Created = ... # type: Qt.WidgetAttribute
        WA_WState_CompressKeys = ... # type: Qt.WidgetAttribute
        WA_WState_InPaintEvent = ... # type: Qt.WidgetAttribute
        WA_WState_Reparented = ... # type: Qt.WidgetAttribute
        WA_WState_ConfigPending = ... # type: Qt.WidgetAttribute
        WA_WState_Polished = ... # type: Qt.WidgetAttribute
        WA_WState_OwnSizePolicy = ... # type: Qt.WidgetAttribute
        WA_WState_ExplicitShowHide = ... # type: Qt.WidgetAttribute
        WA_MouseNoMask = ... # type: Qt.WidgetAttribute
        WA_GroupLeader = ... # type: Qt.WidgetAttribute
        WA_NoMousePropagation = ... # type: Qt.WidgetAttribute
        WA_Hover = ... # type: Qt.WidgetAttribute
        WA_InputMethodTransparent = ... # type: Qt.WidgetAttribute
        WA_QuitOnClose = ... # type: Qt.WidgetAttribute
        WA_KeyboardFocusChange = ... # type: Qt.WidgetAttribute
        WA_AcceptDrops = ... # type: Qt.WidgetAttribute
        WA_WindowPropagation = ... # type: Qt.WidgetAttribute
        WA_NoX11EventCompression = ... # type: Qt.WidgetAttribute
        WA_TintedBackground = ... # type: Qt.WidgetAttribute
        WA_X11OpenGLOverlay = ... # type: Qt.WidgetAttribute
        WA_AttributeCount = ... # type: Qt.WidgetAttribute
        WA_AlwaysShowToolTips = ... # type: Qt.WidgetAttribute
        WA_MacOpaqueSizeGrip = ... # type: Qt.WidgetAttribute
        WA_SetStyle = ... # type: Qt.WidgetAttribute
        WA_MacBrushedMetal = ... # type: Qt.WidgetAttribute
        WA_SetLocale = ... # type: Qt.WidgetAttribute
        WA_MacShowFocusRect = ... # type: Qt.WidgetAttribute
        WA_MacNormalSize = ... # type: Qt.WidgetAttribute
        WA_MacSmallSize = ... # type: Qt.WidgetAttribute
        WA_MacMiniSize = ... # type: Qt.WidgetAttribute
        WA_LayoutUsesWidgetRect = ... # type: Qt.WidgetAttribute
        WA_StyledBackground = ... # type: Qt.WidgetAttribute
        WA_MSWindowsUseDirect3D = ... # type: Qt.WidgetAttribute
        WA_MacAlwaysShowToolWindow = ... # type: Qt.WidgetAttribute
        WA_StyleSheet = ... # type: Qt.WidgetAttribute
        WA_ShowWithoutActivating = ... # type: Qt.WidgetAttribute
        WA_NativeWindow = ... # type: Qt.WidgetAttribute
        WA_DontCreateNativeAncestors = ... # type: Qt.WidgetAttribute
        WA_MacVariableSize = ... # type: Qt.WidgetAttribute
        WA_DontShowOnScreen = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDesktop = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDock = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeToolBar = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeUtility = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeSplash = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDialog = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDropDownMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypePopupMenu = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeToolTip = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeNotification = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeCombo = ... # type: Qt.WidgetAttribute
        WA_X11NetWmWindowTypeDND = ... # type: Qt.WidgetAttribute
        WA_MacFrameworkScaled = ... # type: Qt.WidgetAttribute
        WA_TranslucentBackground = ... # type: Qt.WidgetAttribute
        WA_AcceptTouchEvents = ... # type: Qt.WidgetAttribute
        WA_TouchPadAcceptSingleTouchEvents = ... # type: Qt.WidgetAttribute
        WA_X11DoNotAcceptFocus = ... # type: Qt.WidgetAttribute
        WA_MacNoShadow = ... # type: Qt.WidgetAttribute
        WA_AlwaysStackOnTop = ... # type: Qt.WidgetAttribute
        WA_TabletTracking = ... # type: Qt.WidgetAttribute
        WA_ContentsMarginsRespectsSafeArea = ... # type: Qt.WidgetAttribute
        WA_StyleSheetTarget = ... # type: Qt.WidgetAttribute

    class WindowState(int):
        WindowNoState = ... # type: Qt.WindowState
        WindowMinimized = ... # type: Qt.WindowState
        WindowMaximized = ... # type: Qt.WindowState
        WindowFullScreen = ... # type: Qt.WindowState
        WindowActive = ... # type: Qt.WindowState

    class WindowType(int):
        Widget = ... # type: Qt.WindowType
        Window = ... # type: Qt.WindowType
        Dialog = ... # type: Qt.WindowType
        Sheet = ... # type: Qt.WindowType
        Drawer = ... # type: Qt.WindowType
        Popup = ... # type: Qt.WindowType
        Tool = ... # type: Qt.WindowType
        ToolTip = ... # type: Qt.WindowType
        SplashScreen = ... # type: Qt.WindowType
        Desktop = ... # type: Qt.WindowType
        SubWindow = ... # type: Qt.WindowType
        WindowType_Mask = ... # type: Qt.WindowType
        MSWindowsFixedSizeDialogHint = ... # type: Qt.WindowType
        MSWindowsOwnDC = ... # type: Qt.WindowType
        X11BypassWindowManagerHint = ... # type: Qt.WindowType
        FramelessWindowHint = ... # type: Qt.WindowType
        CustomizeWindowHint = ... # type: Qt.WindowType
        WindowTitleHint = ... # type: Qt.WindowType
        WindowSystemMenuHint = ... # type: Qt.WindowType
        WindowMinimizeButtonHint = ... # type: Qt.WindowType
        WindowMaximizeButtonHint = ... # type: Qt.WindowType
        WindowMinMaxButtonsHint = ... # type: Qt.WindowType
        WindowContextHelpButtonHint = ... # type: Qt.WindowType
        WindowShadeButtonHint = ... # type: Qt.WindowType
        WindowStaysOnTopHint = ... # type: Qt.WindowType
        WindowStaysOnBottomHint = ... # type: Qt.WindowType
        WindowCloseButtonHint = ... # type: Qt.WindowType
        MacWindowToolBarButtonHint = ... # type: Qt.WindowType
        BypassGraphicsProxyWidget = ... # type: Qt.WindowType
        WindowTransparentForInput = ... # type: Qt.WindowType
        WindowOverridesSystemGestures = ... # type: Qt.WindowType
        WindowDoesNotAcceptFocus = ... # type: Qt.WindowType
        NoDropShadowWindowHint = ... # type: Qt.WindowType
        WindowFullscreenButtonHint = ... # type: Qt.WindowType
        ForeignWindow = ... # type: Qt.WindowType
        BypassWindowManagerHint = ... # type: Qt.WindowType
        CoverWindow = ... # type: Qt.WindowType
        MaximizeUsingFullscreenGeometryHint = ... # type: Qt.WindowType

    class TextElideMode(int):
        ElideLeft = ... # type: Qt.TextElideMode
        ElideRight = ... # type: Qt.TextElideMode
        ElideMiddle = ... # type: Qt.TextElideMode
        ElideNone = ... # type: Qt.TextElideMode

    class TextFlag(int):
        TextSingleLine = ... # type: Qt.TextFlag
        TextDontClip = ... # type: Qt.TextFlag
        TextExpandTabs = ... # type: Qt.TextFlag
        TextShowMnemonic = ... # type: Qt.TextFlag
        TextWordWrap = ... # type: Qt.TextFlag
        TextWrapAnywhere = ... # type: Qt.TextFlag
        TextDontPrint = ... # type: Qt.TextFlag
        TextIncludeTrailingSpaces = ... # type: Qt.TextFlag
        TextHideMnemonic = ... # type: Qt.TextFlag
        TextJustificationForced = ... # type: Qt.TextFlag

    class AlignmentFlag(int):
        AlignLeft = ... # type: Qt.AlignmentFlag
        AlignLeading = ... # type: Qt.AlignmentFlag
        AlignRight = ... # type: Qt.AlignmentFlag
        AlignTrailing = ... # type: Qt.AlignmentFlag
        AlignHCenter = ... # type: Qt.AlignmentFlag
        AlignJustify = ... # type: Qt.AlignmentFlag
        AlignAbsolute = ... # type: Qt.AlignmentFlag
        AlignHorizontal_Mask = ... # type: Qt.AlignmentFlag
        AlignTop = ... # type: Qt.AlignmentFlag
        AlignBottom = ... # type: Qt.AlignmentFlag
        AlignVCenter = ... # type: Qt.AlignmentFlag
        AlignVertical_Mask = ... # type: Qt.AlignmentFlag
        AlignCenter = ... # type: Qt.AlignmentFlag
        AlignBaseline = ... # type: Qt.AlignmentFlag

    class SortOrder(int):
        AscendingOrder = ... # type: Qt.SortOrder
        DescendingOrder = ... # type: Qt.SortOrder

    class FocusPolicy(int):
        NoFocus = ... # type: Qt.FocusPolicy
        TabFocus = ... # type: Qt.FocusPolicy
        ClickFocus = ... # type: Qt.FocusPolicy
        StrongFocus = ... # type: Qt.FocusPolicy
        WheelFocus = ... # type: Qt.FocusPolicy

    class Orientation(int):
        Horizontal = ... # type: Qt.Orientation
        Vertical = ... # type: Qt.Orientation

    class MouseButton(int):
        NoButton = ... # type: Qt.MouseButton
        AllButtons = ... # type: Qt.MouseButton
        LeftButton = ... # type: Qt.MouseButton
        RightButton = ... # type: Qt.MouseButton
        MidButton = ... # type: Qt.MouseButton
        MiddleButton = ... # type: Qt.MouseButton
        XButton1 = ... # type: Qt.MouseButton
        XButton2 = ... # type: Qt.MouseButton
        BackButton = ... # type: Qt.MouseButton
        ExtraButton1 = ... # type: Qt.MouseButton
        ForwardButton = ... # type: Qt.MouseButton
        ExtraButton2 = ... # type: Qt.MouseButton
        TaskButton = ... # type: Qt.MouseButton
        ExtraButton3 = ... # type: Qt.MouseButton
        ExtraButton4 = ... # type: Qt.MouseButton
        ExtraButton5 = ... # type: Qt.MouseButton
        ExtraButton6 = ... # type: Qt.MouseButton
        ExtraButton7 = ... # type: Qt.MouseButton
        ExtraButton8 = ... # type: Qt.MouseButton
        ExtraButton9 = ... # type: Qt.MouseButton
        ExtraButton10 = ... # type: Qt.MouseButton
        ExtraButton11 = ... # type: Qt.MouseButton
        ExtraButton12 = ... # type: Qt.MouseButton
        ExtraButton13 = ... # type: Qt.MouseButton
        ExtraButton14 = ... # type: Qt.MouseButton
        ExtraButton15 = ... # type: Qt.MouseButton
        ExtraButton16 = ... # type: Qt.MouseButton
        ExtraButton17 = ... # type: Qt.MouseButton
        ExtraButton18 = ... # type: Qt.MouseButton
        ExtraButton19 = ... # type: Qt.MouseButton
        ExtraButton20 = ... # type: Qt.MouseButton
        ExtraButton21 = ... # type: Qt.MouseButton
        ExtraButton22 = ... # type: Qt.MouseButton
        ExtraButton23 = ... # type: Qt.MouseButton
        ExtraButton24 = ... # type: Qt.MouseButton

    class Modifier(int):
        META = ... # type: Qt.Modifier
        SHIFT = ... # type: Qt.Modifier
        CTRL = ... # type: Qt.Modifier
        ALT = ... # type: Qt.Modifier
        MODIFIER_MASK = ... # type: Qt.Modifier
        UNICODE_ACCEL = ... # type: Qt.Modifier

    class KeyboardModifier(int):
        NoModifier = ... # type: Qt.KeyboardModifier
        ShiftModifier = ... # type: Qt.KeyboardModifier
        ControlModifier = ... # type: Qt.KeyboardModifier
        AltModifier = ... # type: Qt.KeyboardModifier
        MetaModifier = ... # type: Qt.KeyboardModifier
        KeypadModifier = ... # type: Qt.KeyboardModifier
        GroupSwitchModifier = ... # type: Qt.KeyboardModifier
        KeyboardModifierMask = ... # type: Qt.KeyboardModifier

    class GlobalColor(int):
        color0 = ... # type: Qt.GlobalColor
        color1 = ... # type: Qt.GlobalColor
        black = ... # type: Qt.GlobalColor
        white = ... # type: Qt.GlobalColor
        darkGray = ... # type: Qt.GlobalColor
        gray = ... # type: Qt.GlobalColor
        lightGray = ... # type: Qt.GlobalColor
        red = ... # type: Qt.GlobalColor
        green = ... # type: Qt.GlobalColor
        blue = ... # type: Qt.GlobalColor
        cyan = ... # type: Qt.GlobalColor
        magenta = ... # type: Qt.GlobalColor
        yellow = ... # type: Qt.GlobalColor
        darkRed = ... # type: Qt.GlobalColor
        darkGreen = ... # type: Qt.GlobalColor
        darkBlue = ... # type: Qt.GlobalColor
        darkCyan = ... # type: Qt.GlobalColor
        darkMagenta = ... # type: Qt.GlobalColor
        darkYellow = ... # type: Qt.GlobalColor
        transparent = ... # type: Qt.GlobalColor

    KeyboardModifiers: typing.Type[int]
    #class KeyboardModifiers(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.KeyboardModifiers, Qt.KeyboardModifier]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.KeyboardModifiers) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.KeyboardModifiers: ...
        #def __int__(self) -> int: ...

    MouseButtons: typing.Type[int]
    #class MouseButtons(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.MouseButtons, Qt.MouseButton]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.MouseButtons) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.MouseButtons: ...
        #def __int__(self) -> int: ...

    Orientations: typing.Type[int]
    #class Orientations(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.Orientations, Qt.Orientation]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.Orientations) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.Orientations: ...
        #def __int__(self) -> int: ...

    Alignment: typing.Type[int]
    #class Alignment(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.Alignment, Qt.AlignmentFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.Alignment) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.Alignment: ...
        #def __int__(self) -> int: ...

    WindowFlags: typing.Type[int]
    #class WindowFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.WindowFlags, Qt.WindowType]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.WindowFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.WindowFlags: ...
        #def __int__(self) -> int: ...

    WindowStates: typing.Type[int]
    #class WindowStates(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.WindowStates, Qt.WindowState]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.WindowStates) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.WindowStates: ...
        #def __int__(self) -> int: ...

    ImageConversionFlags: typing.Type[int]
    #class ImageConversionFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.ImageConversionFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.ImageConversionFlags: ...
        #def __int__(self) -> int: ...

    DockWidgetAreas: typing.Type[int]
    #class DockWidgetAreas(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.DockWidgetAreas, Qt.DockWidgetArea]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.DockWidgetAreas) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.DockWidgetAreas: ...
        #def __int__(self) -> int: ...

    ToolBarAreas: typing.Type[int]
    #class ToolBarAreas(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.ToolBarAreas, Qt.ToolBarArea]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.ToolBarAreas) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.ToolBarAreas: ...
        #def __int__(self) -> int: ...

    InputMethodQueries: typing.Type[int]
    #class InputMethodQueries(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.InputMethodQueries, Qt.InputMethodQuery]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.InputMethodQueries) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.InputMethodQueries: ...
        #def __int__(self) -> int: ...

    DropActions: typing.Type[int]
    #class DropActions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.DropActions, Qt.DropAction]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.DropActions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.DropActions: ...
        #def __int__(self) -> int: ...

    ItemFlags: typing.Type[int]
    #class ItemFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.ItemFlags, Qt.ItemFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.ItemFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.ItemFlags: ...
        #def __int__(self) -> int: ...

    MatchFlags: typing.Type[int]
    #class MatchFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.MatchFlags, Qt.MatchFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.MatchFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.MatchFlags: ...
        #def __int__(self) -> int: ...

    TextInteractionFlags: typing.Type[int]
    #class TextInteractionFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.TextInteractionFlags, Qt.TextInteractionFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.TextInteractionFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.TextInteractionFlags: ...
        #def __int__(self) -> int: ...

    InputMethodHints: typing.Type[int]
    #class InputMethodHints(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.InputMethodHints, Qt.InputMethodHint]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.InputMethodHints) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.InputMethodHints: ...
        #def __int__(self) -> int: ...

    TouchPointStates: typing.Type[int]
    #class TouchPointStates(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.TouchPointStates, Qt.TouchPointState]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.TouchPointStates) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.TouchPointStates: ...
        #def __int__(self) -> int: ...

    GestureFlags: typing.Type[int]
    #class GestureFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.GestureFlags, Qt.GestureFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.GestureFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.GestureFlags: ...
        #def __int__(self) -> int: ...

    ScreenOrientations: typing.Type[int]
    #class ScreenOrientations(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.ScreenOrientations, Qt.ScreenOrientation]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.ScreenOrientations) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.ScreenOrientations: ...
        #def __int__(self) -> int: ...

    FindChildOptions: typing.Type[int]
    #class FindChildOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.FindChildOptions, Qt.FindChildOption]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.FindChildOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.FindChildOptions: ...
        #def __int__(self) -> int: ...

    ApplicationStates: typing.Type[int]
    #class ApplicationStates(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.ApplicationStates, Qt.ApplicationState]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.ApplicationStates) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.ApplicationStates: ...
        #def __int__(self) -> int: ...

    Edges: typing.Type[int]
    #class Edges(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.Edges, Qt.Edge]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.Edges) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.Edges: ...
        #def __int__(self) -> int: ...

    MouseEventFlags: typing.Type[int]
    #class MouseEventFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[Qt.MouseEventFlags, Qt.MouseEventFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: Qt.MouseEventFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> Qt.MouseEventFlags: ...
        #def __int__(self) -> int: ...


class QObject(sip.wrapper):

    destroyed: PYQT_SIGNAL
    objectNameChanged: PYQT_SIGNAL

    staticMetaObject = ... # type: QMetaObject

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def disconnect(self) -> None: ...
    def isSignalConnected(self, signal: QMetaMethod) -> bool: ...
    def senderSignalIndex(self) -> int: ...
    def disconnectNotify(self, signal: QMetaMethod) -> None: ...
    def connectNotify(self, signal: QMetaMethod) -> None: ...
    def customEvent(self, a0: QEvent) -> None: ...
    def childEvent(self, a0: QChildEvent) -> None: ...
    def timerEvent(self, a0: QTimerEvent) -> None: ...
    def receivers(self, signal: PYQT_SIGNAL) -> int: ...
    def sender(self) -> QObject: ...
    def deleteLater(self) -> None: ...
    def inherits(self, classname: str) -> bool: ...
    def parent(self) -> QObject: ...
    #def objectNameChanged(self, objectName: str) -> None: ...
    #def destroyed(self, object: typing.Optional[QObject] = ...) -> None: ...
    def property(self, name: str) -> typing.Any: ...
    def setProperty(self, name: str, value: typing.Any) -> bool: ...
    def dynamicPropertyNames(self) -> typing.List[QByteArray]: ...
    def dumpObjectTree(self) -> None: ...
    def dumpObjectInfo(self) -> None: ...
    def removeEventFilter(self, a0: QObject) -> None: ...
    def installEventFilter(self, a0: QObject) -> None: ...
    def setParent(self, a0: typing.Optional[QObject]) -> None: ...
    def children(self) -> typing.List[QObject]: ...
    def killTimer(self, id: int) -> None: ...
    def startTimer(self, interval: int, timerType: int = ...) -> int: ...
    def moveToThread(self, thread: QThread) -> None: ...
    def thread(self) -> QThread: ...
    def blockSignals(self, b: bool) -> bool: ...
    def signalsBlocked(self) -> bool: ...
    def isWindowType(self) -> bool: ...
    def isWidgetType(self) -> bool: ...
    def setObjectName(self, name: str) -> None: ...
    def objectName(self) -> str: ...
    @overload
    def findChildren(self, type: type, name: str = ..., options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChildren(self, types: typing.Tuple, name: str = ..., options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChildren(self, type: type, regExp: QRegExp, options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChildren(self, types: typing.Tuple, regExp: QRegExp, options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChildren(self, type: type, re: QRegularExpression, options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChildren(self, types: typing.Tuple, re: QRegularExpression, options: typing.Union[int, int] = ...) -> typing.List[QObject]: ...
    @overload
    def findChild(self, type: type, name: str = ..., options: typing.Union[int, int] = ...) -> QObject: ...
    @overload
    def findChild(self, types: typing.Tuple, name: str = ..., options: typing.Union[int, int] = ...) -> QObject: ...
    def tr(self, sourceText: str, disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...
    def eventFilter(self, a0: QObject, a1: QEvent) -> bool: ...
    def event(self, a0: QEvent) -> bool: ...
    def __getattr__(self, name: str) -> typing.Any: ...
    def pyqtConfigure(self, a0: typing.Any) -> None: ...
    def metaObject(self) -> QMetaObject: ...


class QAbstractAnimation(QObject):

    currentLoopChanged: PYQT_SIGNAL
    directionChanged: PYQT_SIGNAL
    finished: PYQT_SIGNAL
    stateChanged: PYQT_SIGNAL

    DeletionPolicy: typing.Type[int]
    #class DeletionPolicy(int): ...
    KeepWhenStopped = ... # type: int
    DeleteWhenStopped = ... # type: int

    State: typing.Type[int]
    #class State(int): ...
    Stopped = ... # type: int
    Paused = ... # type: int
    Running = ... # type: int

    Direction: typing.Type[int]
    #class Direction(int): ...
    Forward = ... # type: int
    Backward = ... # type: int

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def updateDirection(self, direction: int) -> None: ...
    def updateState(self, newState: int, oldState: int) -> None: ...
    def updateCurrentTime(self, currentTime: int) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    def setCurrentTime(self, msecs: int) -> None: ...
    def stop(self) -> None: ...
    def setPaused(self, a0: bool) -> None: ...
    def resume(self) -> None: ...
    def pause(self) -> None: ...
    def start(self, policy: int = ...) -> None: ...
    #def directionChanged(self, a0: int) -> None: ...
    #def currentLoopChanged(self, currentLoop: int) -> None: ...
    #def stateChanged(self, newState: int, oldState: int) -> None: ...
    #def finished(self) -> None: ...
    def totalDuration(self) -> int: ...
    def duration(self) -> int: ...
    def currentLoop(self) -> int: ...
    def setLoopCount(self, loopCount: int) -> None: ...
    def loopCount(self) -> int: ...
    def currentLoopTime(self) -> int: ...
    def currentTime(self) -> int: ...
    def setDirection(self, direction: int) -> None: ...
    def direction(self) -> int: ...
    def group(self) -> QAnimationGroup: ...
    def state(self) -> int: ...


class QAbstractEventDispatcher(QObject):

    aboutToBlock: PYQT_SIGNAL
    awake: PYQT_SIGNAL

    class TimerInfo:

        interval = ... # type: int
        timerId = ... # type: int
        timerType = ... # type: int

        @overload
        def __init__(self, id: int, i: int, t: int) -> None: ...
        @overload
        def __init__(self, a0: QAbstractEventDispatcher.TimerInfo) -> None: ...

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    #def awake(self) -> None: ...
    #def aboutToBlock(self) -> None: ...
    def filterNativeEvent(self, eventType: typing.Union[QByteArray, bytes, bytearray], message: sip.voidptr) -> typing.Tuple[bool, int]: ...
    def removeNativeEventFilter(self, filterObj: QAbstractNativeEventFilter) -> None: ...
    def installNativeEventFilter(self, filterObj: QAbstractNativeEventFilter) -> None: ...
    def remainingTime(self, timerId: int) -> int: ...
    def closingDown(self) -> None: ...
    def startingUp(self) -> None: ...
    def flush(self) -> None: ...
    def interrupt(self) -> None: ...
    def wakeUp(self) -> None: ...
    def registeredTimers(self, object: QObject) -> typing.List[QAbstractEventDispatcher.TimerInfo]: ...
    def unregisterTimers(self, object: QObject) -> bool: ...
    def unregisterTimer(self, timerId: int) -> bool: ...
    @overload
    def registerTimer(self, interval: int, timerType: int, object: QObject) -> int: ...
    @overload
    def registerTimer(self, timerId: int, interval: int, timerType: int, object: QObject) -> None: ...
    def unregisterSocketNotifier(self, notifier: QSocketNotifier) -> None: ...
    def registerSocketNotifier(self, notifier: QSocketNotifier) -> None: ...
    def hasPendingEvents(self) -> bool: ...
    def processEvents(self, flags: typing.Union[int, int]) -> bool: ...
    @staticmethod
    def instance(thread: typing.Optional[QThread] = ...) -> QAbstractEventDispatcher: ...


class QModelIndex(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QModelIndex) -> None: ...
    @overload
    def __init__(self, a0: QPersistentModelIndex) -> None: ...

    def __hash__(self) -> int: ...
    def siblingAtRow(self, row: int) -> QModelIndex: ...
    def siblingAtColumn(self, column: int) -> QModelIndex: ...
    def sibling(self, arow: int, acolumn: int) -> QModelIndex: ...
    def parent(self) -> QModelIndex: ...
    def isValid(self) -> bool: ...
    def model(self) -> QAbstractItemModel: ...
    def internalId(self) -> int: ...
    def internalPointer(self) -> typing.Any: ...
    def flags(self) -> int: ...
    def data(self, role: int = ...) -> typing.Any: ...
    def column(self) -> int: ...
    def row(self) -> int: ...
    def child(self, arow: int, acolumn: int) -> QModelIndex: ...


class QPersistentModelIndex(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, index: QModelIndex) -> None: ...
    @overload
    def __init__(self, other: QPersistentModelIndex) -> None: ...

    def __hash__(self) -> int: ...
    def swap(self, other: QPersistentModelIndex) -> None: ...
    def isValid(self) -> bool: ...
    def model(self) -> QAbstractItemModel: ...
    def child(self, row: int, column: int) -> QModelIndex: ...
    def sibling(self, row: int, column: int) -> QModelIndex: ...
    def parent(self) -> QModelIndex: ...
    def flags(self) -> int: ...
    def data(self, role: int = ...) -> typing.Any: ...
    def column(self) -> int: ...
    def row(self) -> int: ...


class QAbstractItemModel(QObject):

    columnsAboutToBeInserted: PYQT_SIGNAL
    columnsAboutToBeMoved: PYQT_SIGNAL
    columnsAboutToBeRemoved: PYQT_SIGNAL
    columnsInserted: PYQT_SIGNAL
    columnsMoved: PYQT_SIGNAL
    columnsRemoved: PYQT_SIGNAL
    dataChanged: PYQT_SIGNAL
    headerDataChanged: PYQT_SIGNAL
    layoutAboutToBeChanged: PYQT_SIGNAL
    layoutChanged: PYQT_SIGNAL
    modelAboutToBeReset: PYQT_SIGNAL
    modelReset: PYQT_SIGNAL
    rowsAboutToBeInserted: PYQT_SIGNAL
    rowsAboutToBeMoved: PYQT_SIGNAL
    rowsAboutToBeRemoved: PYQT_SIGNAL
    rowsInserted: PYQT_SIGNAL
    rowsMoved: PYQT_SIGNAL
    rowsRemoved: PYQT_SIGNAL

    class CheckIndexOption(int):
        NoOption = ... # type: QAbstractItemModel.CheckIndexOption
        IndexIsValid = ... # type: QAbstractItemModel.CheckIndexOption
        DoNotUseParent = ... # type: QAbstractItemModel.CheckIndexOption
        ParentIsInvalid = ... # type: QAbstractItemModel.CheckIndexOption

    class LayoutChangeHint(int):
        NoLayoutChangeHint = ... # type: QAbstractItemModel.LayoutChangeHint
        VerticalSortHint = ... # type: QAbstractItemModel.LayoutChangeHint
        HorizontalSortHint = ... # type: QAbstractItemModel.LayoutChangeHint

    CheckIndexOptions: typing.Type[int]
    #class CheckIndexOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QAbstractItemModel.CheckIndexOptions, QAbstractItemModel.CheckIndexOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QAbstractItemModel.CheckIndexOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QAbstractItemModel.CheckIndexOptions: ...
        #def __int__(self) -> int: ...

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def checkIndex(self, index: QModelIndex, options: typing.Union[int, int] = ...) -> bool: ...
    def moveColumn(self, sourceParent: QModelIndex, sourceColumn: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveRow(self, sourceParent: QModelIndex, sourceRow: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) -> bool: ...
    def canDropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def resetInternalData(self) -> None: ...
    def endResetModel(self) -> None: ...
    def beginResetModel(self) -> None: ...
    def endMoveColumns(self) -> None: ...
    def beginMoveColumns(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationColumn: int) -> bool: ...
    def endMoveRows(self) -> None: ...
    def beginMoveRows(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationRow: int) -> bool: ...
    #def columnsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, column: int) -> None: ...
    #def columnsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationColumn: int) -> None: ...
    #def rowsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, row: int) -> None: ...
    #def rowsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationRow: int) -> None: ...
    def createIndex(self, row: int, column: int, object: typing.Any = ...) -> QModelIndex: ...
    def roleNames(self) -> typing.Dict[int, QByteArray]: ...
    def supportedDragActions(self) -> int: ...
    def removeColumn(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def removeRow(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumn(self, column: int, parent: QModelIndex = ...) -> bool: ...
    def insertRow(self, row: int, parent: QModelIndex = ...) -> bool: ...
    def changePersistentIndexList(self, from_: typing.Iterable[QModelIndex], to: typing.Iterable[QModelIndex]) -> None: ...
    def changePersistentIndex(self, from_: QModelIndex, to: QModelIndex) -> None: ...
    def persistentIndexList(self) -> typing.List[QModelIndex]: ...
    def endRemoveColumns(self) -> None: ...
    def beginRemoveColumns(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endInsertColumns(self) -> None: ...
    def beginInsertColumns(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endRemoveRows(self) -> None: ...
    def beginRemoveRows(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def endInsertRows(self) -> None: ...
    def beginInsertRows(self, parent: QModelIndex, first: int, last: int) -> None: ...
    def decodeData(self, row: int, column: int, parent: QModelIndex, stream: QDataStream) -> bool: ...
    def encodeData(self, indexes: typing.Iterable[QModelIndex], stream: QDataStream) -> None: ...
    def revert(self) -> None: ...
    def submit(self) -> bool: ...
    #def modelReset(self) -> None: ...
    #def modelAboutToBeReset(self) -> None: ...
    #def columnsRemoved(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def columnsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def columnsInserted(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def columnsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def rowsRemoved(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def rowsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def rowsInserted(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def rowsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) -> None: ...
    #def layoutChanged(self, parents: typing.Iterable[QPersistentModelIndex] = ..., hint: int = ...) -> None: ...
    #def layoutAboutToBeChanged(self, parents: typing.Iterable[QPersistentModelIndex] = ..., hint: int = ...) -> None: ...
    #def headerDataChanged(self, orientation: int, first: int, last: int) -> None: ...
    #def dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: typing.Iterable[int] = ...) -> None: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: typing.Union[int, int] = ...) -> typing.List[QModelIndex]: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def sort(self, column: int, order: int = ...) -> None: ...
    def flags(self, index: QModelIndex) -> int: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def supportedDropActions(self) -> int: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: typing.Iterable[QModelIndex]) -> QMimeData: ...
    def mimeTypes(self) -> typing.List[str]: ...
    def setItemData(self, index: QModelIndex, roles: typing.Dict[int, typing.Any]) -> bool: ...
    def itemData(self, index: QModelIndex) -> typing.Dict[int, typing.Any]: ...
    def setHeaderData(self, section: int, orientation: int, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: int, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    @overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @overload
    def parent(self) -> QObject: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def hasIndex(self, row: int, column: int, parent: QModelIndex = ...) -> bool: ...


class QAbstractTableModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> QObject: ...
    def flags(self, index: QModelIndex) -> int: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...


class QAbstractListModel(QAbstractItemModel):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> QObject: ...
    def flags(self, index: QModelIndex) -> int: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def index(self, row: int, column: int = ..., parent: QModelIndex = ...) -> QModelIndex: ...


class QAbstractNativeEventFilter(sip.simplewrapper):

    def __init__(self) -> None: ...

    def nativeEventFilter(self, eventType: typing.Union[QByteArray, bytes, bytearray], message: sip.voidptr) -> typing.Tuple[bool, int]: ...


class QAbstractProxyModel(QAbstractItemModel):

    sourceModelChanged: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def supportedDragActions(self) -> int: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def canDropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    #def sourceModelChanged(self) -> None: ...
    def resetInternalData(self) -> None: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def supportedDropActions(self) -> int: ...
    def mimeTypes(self) -> typing.List[str]: ...
    def mimeData(self, indexes: typing.Iterable[QModelIndex]) -> QMimeData: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def sort(self, column: int, order: int = ...) -> None: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def setItemData(self, index: QModelIndex, roles: typing.Dict[int, typing.Any]) -> bool: ...
    def flags(self, index: QModelIndex) -> int: ...
    def itemData(self, index: QModelIndex) -> typing.Dict[int, typing.Any]: ...
    def setHeaderData(self, section: int, orientation: int, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: int, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, proxyIndex: QModelIndex, role: int = ...) -> typing.Any: ...
    def revert(self) -> None: ...
    def submit(self) -> bool: ...
    def mapSelectionFromSource(self, selection: QItemSelection) -> QItemSelection: ...
    def mapSelectionToSource(self, selection: QItemSelection) -> QItemSelection: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def sourceModel(self) -> QAbstractItemModel: ...
    def setSourceModel(self, sourceModel: QAbstractItemModel) -> None: ...


class QAbstractState(QObject):

    activeChanged: PYQT_SIGNAL
    entered: PYQT_SIGNAL
    exited: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QState] = ..., **props) -> None: ...

    def event(self, e: QEvent) -> bool: ...
    def onExit(self, event: QEvent) -> None: ...
    def onEntry(self, event: QEvent) -> None: ...
    #def exited(self) -> None: ...
    #def entered(self) -> None: ...
    #def activeChanged(self, active: bool) -> None: ...
    def active(self) -> bool: ...
    def machine(self) -> QStateMachine: ...
    def parentState(self) -> QState: ...


class QAbstractTransition(QObject):

    targetStateChanged: PYQT_SIGNAL
    targetStatesChanged: PYQT_SIGNAL
    triggered: PYQT_SIGNAL

    class TransitionType(int):
        ExternalTransition = ... # type: QAbstractTransition.TransitionType
        InternalTransition = ... # type: QAbstractTransition.TransitionType

    def __init__(self, sourceState: typing.Optional[QState] = ..., **props) -> None: ...

    def setTransitionType(self, type: int) -> None: ...
    def transitionType(self) -> int: ...
    def event(self, e: QEvent) -> bool: ...
    def onTransition(self, event: QEvent) -> None: ...
    def eventTest(self, event: QEvent) -> bool: ...
    #def targetStatesChanged(self) -> None: ...
    #def targetStateChanged(self) -> None: ...
    #def triggered(self) -> None: ...
    def animations(self) -> typing.List[QAbstractAnimation]: ...
    def removeAnimation(self, animation: QAbstractAnimation) -> None: ...
    def addAnimation(self, animation: QAbstractAnimation) -> None: ...
    def machine(self) -> QStateMachine: ...
    def setTargetStates(self, targets: typing.Iterable[QAbstractState]) -> None: ...
    def targetStates(self) -> typing.List[QAbstractState]: ...
    def setTargetState(self, target: QAbstractState) -> None: ...
    def targetState(self) -> QAbstractState: ...
    def sourceState(self) -> QState: ...


class QAnimationGroup(QAbstractAnimation):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def event(self, event: QEvent) -> bool: ...
    def clear(self) -> None: ...
    def takeAnimation(self, index: int) -> QAbstractAnimation: ...
    def removeAnimation(self, animation: QAbstractAnimation) -> None: ...
    def insertAnimation(self, index: int, animation: QAbstractAnimation) -> None: ...
    def addAnimation(self, animation: QAbstractAnimation) -> None: ...
    def indexOfAnimation(self, animation: QAbstractAnimation) -> int: ...
    def animationCount(self) -> int: ...
    def animationAt(self, index: int) -> QAbstractAnimation: ...


class QBasicTimer(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QBasicTimer) -> None: ...

    def stop(self) -> None: ...
    @overload
    def start(self, msec: int, timerType: int, obj: QObject) -> None: ...
    @overload
    def start(self, msec: int, obj: QObject) -> None: ...
    def timerId(self) -> int: ...
    def isActive(self) -> bool: ...


class QBitArray(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, size: int, value: bool = ...) -> None: ...
    @overload
    def __init__(self, other: QBitArray) -> None: ...

    @staticmethod
    def fromBits(data: str, len: int) -> QBitArray: ...
    def bits(self) -> bytes: ...
    def swap(self, other: QBitArray) -> None: ...
    def __hash__(self) -> int: ...
    def at(self, i: int) -> bool: ...
    def __getitem__(self, i: int) -> bool: ...
    def toggleBit(self, i: int) -> bool: ...
    def clearBit(self, i: int) -> None: ...
    @overload
    def setBit(self, i: int) -> None: ...
    @overload
    def setBit(self, i: int, val: bool) -> None: ...
    def testBit(self, i: int) -> bool: ...
    def truncate(self, pos: int) -> None: ...
    @overload
    def fill(self, val: bool, first: int, last: int) -> None: ...
    @overload
    def fill(self, value: bool, size: int = ...) -> bool: ...
    def __invert__(self) -> QBitArray: ...
    def clear(self) -> None: ...
    def isDetached(self) -> bool: ...
    def detach(self) -> None: ...
    def resize(self, size: int) -> None: ...
    def isNull(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def __len__(self) -> int: ...
    @overload
    def count(self) -> int: ...
    @overload
    def count(self, on: bool) -> int: ...
    def size(self) -> int: ...


class QIODevice(QObject):

    aboutToClose: PYQT_SIGNAL
    bytesWritten: PYQT_SIGNAL
    channelBytesWritten: PYQT_SIGNAL
    channelReadyRead: PYQT_SIGNAL
    readChannelFinished: PYQT_SIGNAL
    readyRead: PYQT_SIGNAL

    class OpenModeFlag(int):
        NotOpen = ... # type: QIODevice.OpenModeFlag
        ReadOnly = ... # type: QIODevice.OpenModeFlag
        WriteOnly = ... # type: QIODevice.OpenModeFlag
        ReadWrite = ... # type: QIODevice.OpenModeFlag
        Append = ... # type: QIODevice.OpenModeFlag
        Truncate = ... # type: QIODevice.OpenModeFlag
        Text = ... # type: QIODevice.OpenModeFlag
        Unbuffered = ... # type: QIODevice.OpenModeFlag
        NewOnly = ... # type: QIODevice.OpenModeFlag
        ExistingOnly = ... # type: QIODevice.OpenModeFlag

    OpenMode: typing.Type[int]
    #class OpenMode(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QIODevice.OpenMode) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QIODevice.OpenMode: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, **props) -> None: ...
    @overload
    def __init__(self, parent: QObject, **props) -> None: ...

    def skip(self, maxSize: int) -> int: ...
    #def channelBytesWritten(self, channel: int, bytes: int) -> None: ...
    #def channelReadyRead(self, channel: int) -> None: ...
    def isTransactionStarted(self) -> bool: ...
    def rollbackTransaction(self) -> None: ...
    def commitTransaction(self) -> None: ...
    def startTransaction(self) -> None: ...
    def setCurrentWriteChannel(self, channel: int) -> None: ...
    def currentWriteChannel(self) -> int: ...
    def setCurrentReadChannel(self, channel: int) -> None: ...
    def currentReadChannel(self) -> int: ...
    def writeChannelCount(self) -> int: ...
    def readChannelCount(self) -> int: ...
    def setErrorString(self, errorString: str) -> None: ...
    def setOpenMode(self, openMode: typing.Union[int, int]) -> None: ...
    def writeData(self, data: bytes) -> int: ...
    def readLineData(self, maxlen: int) -> bytes: ...
    def readData(self, maxlen: int) -> bytes: ...
    #def readChannelFinished(self) -> None: ...
    #def aboutToClose(self) -> None: ...
    #def bytesWritten(self, bytes: int) -> None: ...
    #def readyRead(self) -> None: ...
    def errorString(self) -> str: ...
    def getChar(self) -> typing.Tuple[bool, str]: ...
    def putChar(self, c: str) -> bool: ...
    def ungetChar(self, c: str) -> None: ...
    def waitForBytesWritten(self, msecs: int) -> bool: ...
    def waitForReadyRead(self, msecs: int) -> bool: ...
    def write(self, data: typing.Union[QByteArray, bytes, bytearray]) -> int: ...
    def peek(self, maxlen: int) -> QByteArray: ...
    def canReadLine(self) -> bool: ...
    def readLine(self, maxlen: int = ...) -> bytes: ...
    def readAll(self) -> QByteArray: ...
    def read(self, maxlen: int) -> bytes: ...
    def bytesToWrite(self) -> int: ...
    def bytesAvailable(self) -> int: ...
    def reset(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, pos: int) -> bool: ...
    def size(self) -> int: ...
    def pos(self) -> int: ...
    def close(self) -> None: ...
    def open(self, mode: typing.Union[int, int]) -> bool: ...
    def isSequential(self) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def isOpen(self) -> bool: ...
    def isTextModeEnabled(self) -> bool: ...
    def setTextModeEnabled(self, enabled: bool) -> None: ...
    def openMode(self) -> int: ...


class QBuffer(QIODevice):

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, byteArray: QByteArray, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def disconnectNotify(self, a0: QMetaMethod) -> None: ...
    def connectNotify(self, a0: QMetaMethod) -> None: ...
    def writeData(self, data: bytes) -> int: ...
    def readData(self, maxlen: int) -> bytes: ...
    def canReadLine(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, off: int) -> bool: ...
    def pos(self) -> int: ...
    def size(self) -> int: ...
    def close(self) -> None: ...
    def open(self, openMode: typing.Union[int, int]) -> bool: ...
    @overload
    def setData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def setData(self, adata: bytes) -> None: ...
    def setBuffer(self, a: QByteArray) -> None: ...
    def data(self) -> QByteArray: ...
    def buffer(self) -> QByteArray: ...


class QByteArray(sip.simplewrapper):

    Base64Option: typing.Type[int]
    #class Base64Option(int): ...
    Base64Encoding = ... # type: int
    Base64UrlEncoding = ... # type: int
    KeepTrailingEquals = ... # type: int
    OmitTrailingEquals = ... # type: int

    Base64Options: typing.Type[int]
    #class Base64Options(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QByteArray.Base64Options, QByteArray.Base64Option]) -> None: ...
        #@overload
        #def __init__(self, a0: QByteArray.Base64Options) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QByteArray.Base64Options: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, size: int, c: str) -> None: ...
    @overload
    def __init__(self, a: typing.Union[QByteArray, bytes, bytearray]) -> None: ...

    def isLower(self) -> bool: ...
    def isUpper(self) -> bool: ...
    def compare(self, a: typing.Union[QByteArray, bytes, bytearray], cs: int = ...) -> int: ...
    def chopped(self, len: int) -> QByteArray: ...
    def swap(self, other: QByteArray) -> None: ...
    def repeated(self, times: int) -> QByteArray: ...
    @staticmethod
    def fromPercentEncoding(input: typing.Union[QByteArray, bytes, bytearray], percent: str = ...) -> QByteArray: ...
    def toPercentEncoding(self, exclude: typing.Union[QByteArray, bytes, bytearray] = ..., include: typing.Union[QByteArray, bytes, bytearray] = ..., percent: str = ...) -> QByteArray: ...
    @overload
    def toHex(self) -> QByteArray: ...
    @overload
    def toHex(self, separator: str) -> QByteArray: ...
    def contains(self, a: typing.Union[QByteArray, bytes, bytearray]) -> bool: ...
    def push_front(self, a: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def push_back(self, a: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def squeeze(self) -> None: ...
    def reserve(self, size: int) -> None: ...
    def capacity(self) -> int: ...
    def data(self) -> bytes: ...
    def isEmpty(self) -> bool: ...
    def __repr__(self) -> str: ...
    def __str__(self) -> str: ...
    def __hash__(self) -> int: ...
    def __contains__(self, a: typing.Union[QByteArray, bytes, bytearray]) -> int: ...
    @overload
    def __getitem__(self, i: int) -> str: ...
    @overload
    def __getitem__(self, slice: slice) -> QByteArray: ...
    def at(self, i: int) -> str: ...
    def size(self) -> int: ...
    def isNull(self) -> bool: ...
    def length(self) -> int: ...
    def __len__(self) -> int: ...
    @staticmethod
    def fromHex(hexEncoded: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @staticmethod
    def fromRawData(a0: bytes) -> QByteArray: ...
    @overload
    @staticmethod
    def fromBase64(base64: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    @staticmethod
    def fromBase64(base64: typing.Union[QByteArray, bytes, bytearray], options: typing.Union[int, int]) -> QByteArray: ...
    @overload
    @staticmethod
    def number(n: float, format: str = ..., precision: int = ...) -> QByteArray: ...
    @overload
    @staticmethod
    def number(n: int, base: int = ...) -> QByteArray: ...
    @overload
    def setNum(self, n: float, format: str = ..., precision: int = ...) -> QByteArray: ...
    @overload
    def setNum(self, n: int, base: int = ...) -> QByteArray: ...
    @overload
    def toBase64(self) -> QByteArray: ...
    @overload
    def toBase64(self, options: typing.Union[int, int]) -> QByteArray: ...
    def toDouble(self) -> typing.Tuple[float, bool]: ...
    def toFloat(self) -> typing.Tuple[float, bool]: ...
    def toULongLong(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toLongLong(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toULong(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toLong(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toUInt(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toInt(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toUShort(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def toShort(self, base: int = ...) -> typing.Tuple[int, bool]: ...
    def split(self, sep: str) -> typing.List[QByteArray]: ...
    @overload
    def replace(self, index: int, len: int, s: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    def replace(self, before: typing.Union[QByteArray, bytes, bytearray], after: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    def replace(self, before: str, after: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    def remove(self, index: int, len: int) -> QByteArray: ...
    @overload
    def insert(self, i: int, a: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    def insert(self, i: int, s: str) -> QByteArray: ...
    @overload
    def insert(self, i: int, count: int, c: str) -> QByteArray: ...
    @overload
    def append(self, a: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    def append(self, s: str) -> QByteArray: ...
    @overload
    def append(self, count: int, c: str) -> QByteArray: ...
    @overload
    def prepend(self, a: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    def prepend(self, count: int, c: str) -> QByteArray: ...
    def rightJustified(self, width: int, fill: str = ..., truncate: bool = ...) -> QByteArray: ...
    def leftJustified(self, width: int, fill: str = ..., truncate: bool = ...) -> QByteArray: ...
    def simplified(self) -> QByteArray: ...
    def trimmed(self) -> QByteArray: ...
    def toUpper(self) -> QByteArray: ...
    def toLower(self) -> QByteArray: ...
    def chop(self, n: int) -> None: ...
    def truncate(self, pos: int) -> None: ...
    def endsWith(self, a: typing.Union[QByteArray, bytes, bytearray]) -> bool: ...
    def startsWith(self, a: typing.Union[QByteArray, bytes, bytearray]) -> bool: ...
    def mid(self, pos: int, length: int = ...) -> QByteArray: ...
    def right(self, len: int) -> QByteArray: ...
    def left(self, len: int) -> QByteArray: ...
    @overload
    def count(self, a: typing.Union[QByteArray, bytes, bytearray]) -> int: ...
    @overload
    def count(self) -> int: ...
    @overload
    def lastIndexOf(self, ba: typing.Union[QByteArray, bytes, bytearray], from_: int = ...) -> int: ...
    @overload
    def lastIndexOf(self, str: str, from_: int = ...) -> int: ...
    @overload
    def indexOf(self, ba: typing.Union[QByteArray, bytes, bytearray], from_: int = ...) -> int: ...
    @overload
    def indexOf(self, str: str, from_: int = ...) -> int: ...
    def clear(self) -> None: ...
    def fill(self, ch: str, size: int = ...) -> QByteArray: ...
    def resize(self, size: int) -> None: ...


class QByteArrayMatcher(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, pattern: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, other: QByteArrayMatcher) -> None: ...

    def pattern(self) -> QByteArray: ...
    def indexIn(self, ba: typing.Union[QByteArray, bytes, bytearray], from_: int = ...) -> int: ...
    def setPattern(self, pattern: typing.Union[QByteArray, bytes, bytearray]) -> None: ...


class QCborError(sip.simplewrapper):

    Code: typing.Type[int]
    #class Code(int): ...
    UnknownError = ... # type: int
    AdvancePastEnd = ... # type: int
    InputOutputError = ... # type: int
    GarbageAtEnd = ... # type: int
    EndOfFile = ... # type: int
    UnexpectedBreak = ... # type: int
    UnknownType = ... # type: int
    IllegalType = ... # type: int
    IllegalNumber = ... # type: int
    IllegalSimpleType = ... # type: int
    InvalidUtf8String = ... # type: int
    DataTooLarge = ... # type: int
    NestingTooDeep = ... # type: int
    UnsupportedType = ... # type: int
    NoError = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QCborError) -> None: ...

    def toString(self) -> str: ...
    def code(self) -> int: ...


class QCborStreamWriter(sip.simplewrapper):

    @overload
    def __init__(self, device: QIODevice) -> None: ...
    @overload
    def __init__(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...

    def endMap(self) -> bool: ...
    @overload
    def startMap(self) -> None: ...
    @overload
    def startMap(self, count: int) -> None: ...
    def endArray(self) -> bool: ...
    @overload
    def startArray(self) -> None: ...
    @overload
    def startArray(self, count: int) -> None: ...
    def appendUndefined(self) -> None: ...
    def appendNull(self) -> None: ...
    @overload
    def append(self, st: int) -> None: ...
    @overload
    def append(self, tag: int) -> None: ...
    @overload
    def append(self, str: str) -> None: ...
    @overload
    def append(self, ba: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def append(self, b: bool) -> None: ...
    @overload
    def append(self, d: float) -> None: ...
    @overload
    def append(self, a0: int) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QCborStreamReader(sip.simplewrapper):

    StringResultCode: typing.Type[int]
    #class StringResultCode(int): ...
    EndOfString = ... # type: int
    Ok = ... # type: int
    Error = ... # type: int

    Type: typing.Type[int]
    #class Type(int): ...
    UnsignedInteger = ... # type: int
    NegativeInteger = ... # type: int
    ByteString = ... # type: int
    ByteArray = ... # type: int
    TextString = ... # type: int
    String = ... # type: int
    Array = ... # type: int
    Map = ... # type: int
    Tag = ... # type: int
    SimpleType = ... # type: int
    HalfFloat = ... # type: int
    Float16 = ... # type: int
    Float = ... # type: int
    Double = ... # type: int
    Invalid = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, device: QIODevice) -> None: ...

    def toInteger(self) -> int: ...
    def toDouble(self) -> float: ...
    def toSimpleType(self) -> int: ...
    def toUnsignedInteger(self) -> int: ...
    def toBool(self) -> bool: ...
    def readByteArray(self) -> typing.Tuple[QByteArray, int]: ...
    def readString(self) -> typing.Tuple[str, int]: ...
    def leaveContainer(self) -> bool: ...
    def enterContainer(self) -> bool: ...
    def isContainer(self) -> bool: ...
    def __len__(self) -> int: ...
    def length(self) -> int: ...
    def isLengthKnown(self) -> bool: ...
    def isUndefined(self) -> bool: ...
    def isNull(self) -> bool: ...
    def isBool(self) -> bool: ...
    def isTrue(self) -> bool: ...
    def isFalse(self) -> bool: ...
    def isInvalid(self) -> bool: ...
    def isDouble(self) -> bool: ...
    def isFloat(self) -> bool: ...
    def isFloat16(self) -> bool: ...
    @overload
    def isSimpleType(self) -> bool: ...
    @overload
    def isSimpleType(self, st: int) -> bool: ...
    def isTag(self) -> bool: ...
    def isMap(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isString(self) -> bool: ...
    def isByteArray(self) -> bool: ...
    def isInteger(self) -> bool: ...
    def isNegativeInteger(self) -> bool: ...
    def isUnsignedInteger(self) -> bool: ...
    def type(self) -> int: ...
    def next(self, maxRecursion: int = ...) -> bool: ...
    def hasNext(self) -> bool: ...
    def parentContainerType(self) -> int: ...
    def containerDepth(self) -> int: ...
    def isValid(self) -> bool: ...
    def currentOffset(self) -> int: ...
    def lastError(self) -> QCborError: ...
    def reset(self) -> None: ...
    def clear(self) -> None: ...
    def reparse(self) -> None: ...
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QCollatorSortKey(sip.simplewrapper):

    def __init__(self, other: QCollatorSortKey) -> None: ...

    def compare(self, key: QCollatorSortKey) -> int: ...
    def swap(self, other: QCollatorSortKey) -> None: ...


class QCollator(sip.simplewrapper):

    @overload
    def __init__(self, locale: QLocale = ...) -> None: ...
    @overload
    def __init__(self, a0: QCollator) -> None: ...

    def sortKey(self, string: str) -> QCollatorSortKey: ...
    def compare(self, s1: str, s2: str) -> int: ...
    def ignorePunctuation(self) -> bool: ...
    def setIgnorePunctuation(self, on: bool) -> None: ...
    def numericMode(self) -> bool: ...
    def setNumericMode(self, on: bool) -> None: ...
    def setCaseSensitivity(self, cs: int) -> None: ...
    def caseSensitivity(self) -> int: ...
    def locale(self) -> QLocale: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def swap(self, other: QCollator) -> None: ...


class QCommandLineOption(sip.simplewrapper):

    Flag: typing.Type[int]
    #class Flag(int): ...
    HiddenFromHelp = ... # type: int
    ShortOptionStyle = ... # type: int

    Flags: typing.Type[int]
    #class Flags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QCommandLineOption.Flags, QCommandLineOption.Flag]) -> None: ...
        #@overload
        #def __init__(self, a0: QCommandLineOption.Flags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QCommandLineOption.Flags: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, name: str) -> None: ...
    @overload
    def __init__(self, names: typing.Iterable[str]) -> None: ...
    @overload
    def __init__(self, name: str, description: str, valueName: str = ..., defaultValue: str = ...) -> None: ...
    @overload
    def __init__(self, names: typing.Iterable[str], description: str, valueName: str = ..., defaultValue: str = ...) -> None: ...
    @overload
    def __init__(self, other: QCommandLineOption) -> None: ...

    def setFlags(self, aflags: typing.Union[int, int]) -> None: ...
    def flags(self) -> int: ...
    def isHidden(self) -> bool: ...
    def setHidden(self, hidden: bool) -> None: ...
    def defaultValues(self) -> typing.List[str]: ...
    def setDefaultValues(self, defaultValues: typing.Iterable[str]) -> None: ...
    def setDefaultValue(self, defaultValue: str) -> None: ...
    def description(self) -> str: ...
    def setDescription(self, description: str) -> None: ...
    def valueName(self) -> str: ...
    def setValueName(self, name: str) -> None: ...
    def names(self) -> typing.List[str]: ...
    def swap(self, other: QCommandLineOption) -> None: ...


class QCommandLineParser(sip.simplewrapper):

    OptionsAfterPositionalArgumentsMode: typing.Type[int]
    #class OptionsAfterPositionalArgumentsMode(int): ...
    ParseAsOptions = ... # type: int
    ParseAsPositionalArguments = ... # type: int

    SingleDashWordOptionMode: typing.Type[int]
    #class SingleDashWordOptionMode(int): ...
    ParseAsCompactedShortOptions = ... # type: int
    ParseAsLongOptions = ... # type: int

    def __init__(self) -> None: ...

    def setOptionsAfterPositionalArgumentsMode(self, mode: int) -> None: ...
    def showVersion(self) -> None: ...
    def addOptions(self, options: typing.Iterable[QCommandLineOption]) -> bool: ...
    def helpText(self) -> str: ...
    def showHelp(self, exitCode: int = ...) -> None: ...
    def unknownOptionNames(self) -> typing.List[str]: ...
    def optionNames(self) -> typing.List[str]: ...
    def positionalArguments(self) -> typing.List[str]: ...
    @overload
    def values(self, name: str) -> typing.List[str]: ...
    @overload
    def values(self, option: QCommandLineOption) -> typing.List[str]: ...
    @overload
    def value(self, name: str) -> str: ...
    @overload
    def value(self, option: QCommandLineOption) -> str: ...
    @overload
    def isSet(self, name: str) -> bool: ...
    @overload
    def isSet(self, option: QCommandLineOption) -> bool: ...
    def errorText(self) -> str: ...
    def parse(self, arguments: typing.Iterable[str]) -> bool: ...
    @overload
    def process(self, arguments: typing.Iterable[str]) -> None: ...
    @overload
    def process(self, app: QCoreApplication) -> None: ...
    def clearPositionalArguments(self) -> None: ...
    def addPositionalArgument(self, name: str, description: str, syntax: str = ...) -> None: ...
    def applicationDescription(self) -> str: ...
    def setApplicationDescription(self, description: str) -> None: ...
    def addHelpOption(self) -> QCommandLineOption: ...
    def addVersionOption(self) -> QCommandLineOption: ...
    def addOption(self, commandLineOption: QCommandLineOption) -> bool: ...
    def setSingleDashWordOptionMode(self, parsingMode: int) -> None: ...


class QCoreApplication(QObject):

    aboutToQuit: PYQT_SIGNAL

    def __init__(self, argv: typing.List[str], **props) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    @staticmethod
    def isSetuidAllowed() -> bool: ...
    @staticmethod
    def setSetuidAllowed(allow: bool) -> None: ...
    def removeNativeEventFilter(self, filterObj: QAbstractNativeEventFilter) -> None: ...
    def installNativeEventFilter(self, filterObj: QAbstractNativeEventFilter) -> None: ...
    @staticmethod
    def setQuitLockEnabled(enabled: bool) -> None: ...
    @staticmethod
    def isQuitLockEnabled() -> bool: ...
    @staticmethod
    def setEventDispatcher(eventDispatcher: QAbstractEventDispatcher) -> None: ...
    @staticmethod
    def eventDispatcher() -> QAbstractEventDispatcher: ...
    @staticmethod
    def applicationPid() -> int: ...
    @staticmethod
    def applicationVersion() -> str: ...
    @staticmethod
    def setApplicationVersion(version: str) -> None: ...
    def event(self, a0: QEvent) -> bool: ...
    #def aboutToQuit(self) -> None: ...
    @staticmethod
    def quit() -> None: ...
    @staticmethod
    def testAttribute(attribute: int) -> bool: ...
    @staticmethod
    def setAttribute(attribute: int, on: bool = ...) -> None: ...
    @staticmethod
    def flush() -> None: ...
    @staticmethod
    def translate(context: str, sourceText: str, disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...
    @staticmethod
    def removeTranslator(messageFile: QTranslator) -> bool: ...
    @staticmethod
    def installTranslator(messageFile: QTranslator) -> bool: ...
    @staticmethod
    def removeLibraryPath(a0: str) -> None: ...
    @staticmethod
    def addLibraryPath(a0: str) -> None: ...
    @staticmethod
    def libraryPaths() -> typing.List[str]: ...
    @staticmethod
    def setLibraryPaths(a0: typing.Iterable[str]) -> None: ...
    @staticmethod
    def applicationFilePath() -> str: ...
    @staticmethod
    def applicationDirPath() -> str: ...
    @staticmethod
    def closingDown() -> bool: ...
    @staticmethod
    def startingUp() -> bool: ...
    def notify(self, a0: QObject, a1: QEvent) -> bool: ...
    @staticmethod
    def hasPendingEvents() -> bool: ...
    @staticmethod
    def removePostedEvents(receiver: QObject, eventType: int = ...) -> None: ...
    @staticmethod
    def sendPostedEvents(receiver: typing.Optional[QObject] = ..., eventType: int = ...) -> None: ...
    @staticmethod
    def postEvent(receiver: QObject, event: QEvent, priority: int = ...) -> None: ...
    @staticmethod
    def sendEvent(receiver: QObject, event: QEvent) -> bool: ...
    @staticmethod
    def exit(returnCode: int = ...) -> None: ...
    @overload
    @staticmethod
    def processEvents(flags: typing.Union[int, int] = ...) -> None: ...
    @overload
    @staticmethod
    def processEvents(flags: typing.Union[int, int], maxtime: int) -> None: ...
    @staticmethod
    def exec() -> int: ...
    @staticmethod
    def exec_() -> int: ...
    @staticmethod
    def instance() -> QCoreApplication: ...
    @staticmethod
    def arguments() -> typing.List[str]: ...
    @staticmethod
    def applicationName() -> str: ...
    @staticmethod
    def setApplicationName(application: str) -> None: ...
    @staticmethod
    def organizationName() -> str: ...
    @staticmethod
    def setOrganizationName(orgName: str) -> None: ...
    @staticmethod
    def organizationDomain() -> str: ...
    @staticmethod
    def setOrganizationDomain(orgDomain: str) -> None: ...


class QEvent(sip.wrapper):

    class Type(int):
        None_ = ... # type: QEvent.Type
        Timer = ... # type: QEvent.Type
        MouseButtonPress = ... # type: QEvent.Type
        MouseButtonRelease = ... # type: QEvent.Type
        MouseButtonDblClick = ... # type: QEvent.Type
        MouseMove = ... # type: QEvent.Type
        KeyPress = ... # type: QEvent.Type
        KeyRelease = ... # type: QEvent.Type
        FocusIn = ... # type: QEvent.Type
        FocusOut = ... # type: QEvent.Type
        Enter = ... # type: QEvent.Type
        Leave = ... # type: QEvent.Type
        Paint = ... # type: QEvent.Type
        Move = ... # type: QEvent.Type
        Resize = ... # type: QEvent.Type
        Show = ... # type: QEvent.Type
        Hide = ... # type: QEvent.Type
        Close = ... # type: QEvent.Type
        ParentChange = ... # type: QEvent.Type
        ParentAboutToChange = ... # type: QEvent.Type
        ThreadChange = ... # type: QEvent.Type
        WindowActivate = ... # type: QEvent.Type
        WindowDeactivate = ... # type: QEvent.Type
        ShowToParent = ... # type: QEvent.Type
        HideToParent = ... # type: QEvent.Type
        Wheel = ... # type: QEvent.Type
        WindowTitleChange = ... # type: QEvent.Type
        WindowIconChange = ... # type: QEvent.Type
        ApplicationWindowIconChange = ... # type: QEvent.Type
        ApplicationFontChange = ... # type: QEvent.Type
        ApplicationLayoutDirectionChange = ... # type: QEvent.Type
        ApplicationPaletteChange = ... # type: QEvent.Type
        PaletteChange = ... # type: QEvent.Type
        Clipboard = ... # type: QEvent.Type
        MetaCall = ... # type: QEvent.Type
        SockAct = ... # type: QEvent.Type
        WinEventAct = ... # type: QEvent.Type
        DeferredDelete = ... # type: QEvent.Type
        DragEnter = ... # type: QEvent.Type
        DragMove = ... # type: QEvent.Type
        DragLeave = ... # type: QEvent.Type
        Drop = ... # type: QEvent.Type
        ChildAdded = ... # type: QEvent.Type
        ChildPolished = ... # type: QEvent.Type
        ChildRemoved = ... # type: QEvent.Type
        PolishRequest = ... # type: QEvent.Type
        Polish = ... # type: QEvent.Type
        LayoutRequest = ... # type: QEvent.Type
        UpdateRequest = ... # type: QEvent.Type
        UpdateLater = ... # type: QEvent.Type
        ContextMenu = ... # type: QEvent.Type
        InputMethod = ... # type: QEvent.Type
        TabletMove = ... # type: QEvent.Type
        LocaleChange = ... # type: QEvent.Type
        LanguageChange = ... # type: QEvent.Type
        LayoutDirectionChange = ... # type: QEvent.Type
        TabletPress = ... # type: QEvent.Type
        TabletRelease = ... # type: QEvent.Type
        OkRequest = ... # type: QEvent.Type
        IconDrag = ... # type: QEvent.Type
        FontChange = ... # type: QEvent.Type
        EnabledChange = ... # type: QEvent.Type
        ActivationChange = ... # type: QEvent.Type
        StyleChange = ... # type: QEvent.Type
        IconTextChange = ... # type: QEvent.Type
        ModifiedChange = ... # type: QEvent.Type
        MouseTrackingChange = ... # type: QEvent.Type
        WindowBlocked = ... # type: QEvent.Type
        WindowUnblocked = ... # type: QEvent.Type
        WindowStateChange = ... # type: QEvent.Type
        ToolTip = ... # type: QEvent.Type
        WhatsThis = ... # type: QEvent.Type
        StatusTip = ... # type: QEvent.Type
        ActionChanged = ... # type: QEvent.Type
        ActionAdded = ... # type: QEvent.Type
        ActionRemoved = ... # type: QEvent.Type
        FileOpen = ... # type: QEvent.Type
        Shortcut = ... # type: QEvent.Type
        ShortcutOverride = ... # type: QEvent.Type
        WhatsThisClicked = ... # type: QEvent.Type
        ToolBarChange = ... # type: QEvent.Type
        ApplicationActivate = ... # type: QEvent.Type
        ApplicationActivated = ... # type: QEvent.Type
        ApplicationDeactivate = ... # type: QEvent.Type
        ApplicationDeactivated = ... # type: QEvent.Type
        QueryWhatsThis = ... # type: QEvent.Type
        EnterWhatsThisMode = ... # type: QEvent.Type
        LeaveWhatsThisMode = ... # type: QEvent.Type
        ZOrderChange = ... # type: QEvent.Type
        HoverEnter = ... # type: QEvent.Type
        HoverLeave = ... # type: QEvent.Type
        HoverMove = ... # type: QEvent.Type
        GraphicsSceneMouseMove = ... # type: QEvent.Type
        GraphicsSceneMousePress = ... # type: QEvent.Type
        GraphicsSceneMouseRelease = ... # type: QEvent.Type
        GraphicsSceneMouseDoubleClick = ... # type: QEvent.Type
        GraphicsSceneContextMenu = ... # type: QEvent.Type
        GraphicsSceneHoverEnter = ... # type: QEvent.Type
        GraphicsSceneHoverMove = ... # type: QEvent.Type
        GraphicsSceneHoverLeave = ... # type: QEvent.Type
        GraphicsSceneHelp = ... # type: QEvent.Type
        GraphicsSceneDragEnter = ... # type: QEvent.Type
        GraphicsSceneDragMove = ... # type: QEvent.Type
        GraphicsSceneDragLeave = ... # type: QEvent.Type
        GraphicsSceneDrop = ... # type: QEvent.Type
        GraphicsSceneWheel = ... # type: QEvent.Type
        GraphicsSceneResize = ... # type: QEvent.Type
        GraphicsSceneMove = ... # type: QEvent.Type
        KeyboardLayoutChange = ... # type: QEvent.Type
        DynamicPropertyChange = ... # type: QEvent.Type
        TabletEnterProximity = ... # type: QEvent.Type
        TabletLeaveProximity = ... # type: QEvent.Type
        NonClientAreaMouseMove = ... # type: QEvent.Type
        NonClientAreaMouseButtonPress = ... # type: QEvent.Type
        NonClientAreaMouseButtonRelease = ... # type: QEvent.Type
        NonClientAreaMouseButtonDblClick = ... # type: QEvent.Type
        MacSizeChange = ... # type: QEvent.Type
        ContentsRectChange = ... # type: QEvent.Type
        CursorChange = ... # type: QEvent.Type
        ToolTipChange = ... # type: QEvent.Type
        GrabMouse = ... # type: QEvent.Type
        UngrabMouse = ... # type: QEvent.Type
        GrabKeyboard = ... # type: QEvent.Type
        UngrabKeyboard = ... # type: QEvent.Type
        StateMachineSignal = ... # type: QEvent.Type
        StateMachineWrapped = ... # type: QEvent.Type
        TouchBegin = ... # type: QEvent.Type
        TouchUpdate = ... # type: QEvent.Type
        TouchEnd = ... # type: QEvent.Type
        RequestSoftwareInputPanel = ... # type: QEvent.Type
        CloseSoftwareInputPanel = ... # type: QEvent.Type
        WinIdChange = ... # type: QEvent.Type
        Gesture = ... # type: QEvent.Type
        GestureOverride = ... # type: QEvent.Type
        FocusAboutToChange = ... # type: QEvent.Type
        ScrollPrepare = ... # type: QEvent.Type
        Scroll = ... # type: QEvent.Type
        Expose = ... # type: QEvent.Type
        InputMethodQuery = ... # type: QEvent.Type
        OrientationChange = ... # type: QEvent.Type
        TouchCancel = ... # type: QEvent.Type
        PlatformPanel = ... # type: QEvent.Type
        ApplicationStateChange = ... # type: QEvent.Type
        ReadOnlyChange = ... # type: QEvent.Type
        PlatformSurface = ... # type: QEvent.Type
        TabletTrackingChange = ... # type: QEvent.Type
        User = ... # type: QEvent.Type
        MaxUser = ... # type: QEvent.Type

    @overload
    def __init__(self, type: int) -> None: ...
    @overload
    def __init__(self, other: QEvent) -> None: ...

    @staticmethod
    def registerEventType(hint: int = ...) -> int: ...
    def ignore(self) -> None: ...
    def accept(self) -> None: ...
    def isAccepted(self) -> bool: ...
    def setAccepted(self, accepted: bool) -> None: ...
    def spontaneous(self) -> bool: ...
    def type(self) -> int: ...


class QTimerEvent(QEvent):

    @overload
    def __init__(self, timerId: int) -> None: ...
    @overload
    def __init__(self, a0: QTimerEvent) -> None: ...

    def timerId(self) -> int: ...


class QChildEvent(QEvent):

    @overload
    def __init__(self, type: int, child: QObject) -> None: ...
    @overload
    def __init__(self, a0: QChildEvent) -> None: ...

    def removed(self) -> bool: ...
    def polished(self) -> bool: ...
    def added(self) -> bool: ...
    def child(self) -> QObject: ...


class QDynamicPropertyChangeEvent(QEvent):

    @overload
    def __init__(self, name: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, a0: QDynamicPropertyChangeEvent) -> None: ...

    def propertyName(self) -> QByteArray: ...


class QCryptographicHash(sip.simplewrapper):

    Algorithm: typing.Type[int]
    #class Algorithm(int): ...
    Md4 = ... # type: int
    Md5 = ... # type: int
    Sha1 = ... # type: int
    Sha224 = ... # type: int
    Sha256 = ... # type: int
    Sha384 = ... # type: int
    Sha512 = ... # type: int
    Sha3_224 = ... # type: int
    Sha3_256 = ... # type: int
    Sha3_384 = ... # type: int
    Sha3_512 = ... # type: int
    Keccak_224 = ... # type: int
    Keccak_256 = ... # type: int
    Keccak_384 = ... # type: int
    Keccak_512 = ... # type: int

    def __init__(self, method: int) -> None: ...

    @staticmethod
    def hashLength(method: int) -> int: ...
    @staticmethod
    def hash(data: typing.Union[QByteArray, bytes, bytearray], method: int) -> QByteArray: ...
    def result(self) -> QByteArray: ...
    @overload
    def addData(self, data: bytes) -> None: ...
    @overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def addData(self, device: QIODevice) -> bool: ...
    def reset(self) -> None: ...


class QDataStream(sip.simplewrapper):

    FloatingPointPrecision: typing.Type[int]
    #class FloatingPointPrecision(int): ...
    SinglePrecision = ... # type: int
    DoublePrecision = ... # type: int

    Status: typing.Type[int]
    #class Status(int): ...
    Ok = ... # type: int
    ReadPastEnd = ... # type: int
    ReadCorruptData = ... # type: int
    WriteFailed = ... # type: int

    ByteOrder: typing.Type[int]
    #class ByteOrder(int): ...
    BigEndian = ... # type: int
    LittleEndian = ... # type: int

    Version: typing.Type[int]
    #class Version(int): ...
    Qt_1_0 = ... # type: int
    Qt_2_0 = ... # type: int
    Qt_2_1 = ... # type: int
    Qt_3_0 = ... # type: int
    Qt_3_1 = ... # type: int
    Qt_3_3 = ... # type: int
    Qt_4_0 = ... # type: int
    Qt_4_1 = ... # type: int
    Qt_4_2 = ... # type: int
    Qt_4_3 = ... # type: int
    Qt_4_4 = ... # type: int
    Qt_4_5 = ... # type: int
    Qt_4_6 = ... # type: int
    Qt_4_7 = ... # type: int
    Qt_4_8 = ... # type: int
    Qt_4_9 = ... # type: int
    Qt_5_0 = ... # type: int
    Qt_5_1 = ... # type: int
    Qt_5_2 = ... # type: int
    Qt_5_3 = ... # type: int
    Qt_5_4 = ... # type: int
    Qt_5_5 = ... # type: int
    Qt_5_6 = ... # type: int
    Qt_5_7 = ... # type: int
    Qt_5_8 = ... # type: int
    Qt_5_9 = ... # type: int
    Qt_5_10 = ... # type: int
    Qt_5_11 = ... # type: int
    Qt_5_12 = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QIODevice) -> None: ...
    @overload
    def __init__(self, a0: QByteArray, flags: typing.Union[int, int]) -> None: ...
    @overload
    def __init__(self, a0: QByteArray) -> None: ...

    def abortTransaction(self) -> None: ...
    def rollbackTransaction(self) -> None: ...
    def commitTransaction(self) -> bool: ...
    def startTransaction(self) -> None: ...
    def setFloatingPointPrecision(self, precision: int) -> None: ...
    def floatingPointPrecision(self) -> int: ...
    def writeRawData(self, a0: bytes) -> int: ...
    def writeBytes(self, a0: bytes) -> QDataStream: ...
    def readRawData(self, len: int) -> bytes: ...
    def readBytes(self) -> bytes: ...
    def writeQVariantHash(self, qvarhash: typing.Dict[str, typing.Any]) -> None: ...
    def readQVariantHash(self) -> typing.Dict[str, typing.Any]: ...
    def writeQVariantMap(self, qvarmap: typing.Dict[str, typing.Any]) -> None: ...
    def readQVariantMap(self) -> typing.Dict[str, typing.Any]: ...
    def writeQVariantList(self, qvarlst: typing.Iterable[typing.Any]) -> None: ...
    def readQVariantList(self) -> typing.List[typing.Any]: ...
    def writeQVariant(self, qvar: typing.Any) -> None: ...
    def readQVariant(self) -> typing.Any: ...
    def writeQStringList(self, qstrlst: typing.Iterable[str]) -> None: ...
    def readQStringList(self) -> typing.List[str]: ...
    def writeQString(self, qstr: str) -> None: ...
    def readQString(self) -> str: ...
    def writeString(self, str: str) -> None: ...
    def writeDouble(self, f: float) -> None: ...
    def writeFloat(self, f: float) -> None: ...
    def writeBool(self, i: bool) -> None: ...
    def writeUInt64(self, i: int) -> None: ...
    def writeInt64(self, i: int) -> None: ...
    def writeUInt32(self, i: int) -> None: ...
    def writeInt32(self, i: int) -> None: ...
    def writeUInt16(self, i: int) -> None: ...
    def writeInt16(self, i: int) -> None: ...
    def writeUInt8(self, i: int) -> None: ...
    def writeInt8(self, i: int) -> None: ...
    def writeInt(self, i: int) -> None: ...
    def readString(self) -> bytes: ...
    def readDouble(self) -> float: ...
    def readFloat(self) -> float: ...
    def readBool(self) -> bool: ...
    def readUInt64(self) -> int: ...
    def readInt64(self) -> int: ...
    def readUInt32(self) -> int: ...
    def readInt32(self) -> int: ...
    def readUInt16(self) -> int: ...
    def readInt16(self) -> int: ...
    def readUInt8(self) -> int: ...
    def readInt8(self) -> int: ...
    def readInt(self) -> int: ...
    def skipRawData(self, len: int) -> int: ...
    def setVersion(self, v: int) -> None: ...
    def version(self) -> int: ...
    def setByteOrder(self, a0: int) -> None: ...
    def byteOrder(self) -> int: ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: int) -> None: ...
    def status(self) -> int: ...
    def atEnd(self) -> bool: ...
    def setDevice(self, a0: QIODevice) -> None: ...
    def device(self) -> QIODevice: ...


class QDate(sip.simplewrapper):

    MonthNameType: typing.Type[int]
    #class MonthNameType(int): ...
    DateFormat = ... # type: int
    StandaloneFormat = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, y: int, m: int, d: int) -> None: ...
    @overload
    def __init__(self, a0: QDate) -> None: ...

    def getDate(self) -> typing.Tuple[int, int, int]: ...
    def setDate(self, year: int, month: int, date: int) -> bool: ...
    def toJulianDay(self) -> int: ...
    @staticmethod
    def fromJulianDay(jd: int) -> QDate: ...
    @staticmethod
    def isLeapYear(year: int) -> bool: ...
    @overload
    @staticmethod
    def fromString(string: str, format: int = ...) -> QDate: ...
    @overload
    @staticmethod
    def fromString(s: str, format: str) -> QDate: ...
    @staticmethod
    def currentDate() -> QDate: ...
    def daysTo(self, a0: typing.Union[QDate, datetime.date]) -> int: ...
    def addYears(self, years: int) -> QDate: ...
    def addMonths(self, months: int) -> QDate: ...
    def addDays(self, days: int) -> QDate: ...
    @overload
    def toString(self, format: int = ...) -> str: ...
    @overload
    def toString(self, format: str) -> str: ...
    @staticmethod
    def longDayName(weekday: int, type: int = ...) -> str: ...
    @staticmethod
    def longMonthName(month: int, type: int = ...) -> str: ...
    @staticmethod
    def shortDayName(weekday: int, type: int = ...) -> str: ...
    @staticmethod
    def shortMonthName(month: int, type: int = ...) -> str: ...
    def weekNumber(self) -> typing.Tuple[int, int]: ...
    def daysInYear(self) -> int: ...
    def daysInMonth(self) -> int: ...
    def dayOfYear(self) -> int: ...
    def dayOfWeek(self) -> int: ...
    def day(self) -> int: ...
    def month(self) -> int: ...
    def year(self) -> int: ...
    @overload
    def isValid(self) -> bool: ...
    #@overload
    #@staticmethod
    #def isValid(y: int, m: int, d: int) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyDate(self) -> datetime.date: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QTime(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, h: int, m: int, second: int = ..., msec: int = ...) -> None: ...
    @overload
    def __init__(self, a0: QTime) -> None: ...

    def msecsSinceStartOfDay(self) -> int: ...
    @staticmethod
    def fromMSecsSinceStartOfDay(msecs: int) -> QTime: ...
    def elapsed(self) -> int: ...
    def restart(self) -> int: ...
    def start(self) -> None: ...
    @overload
    @staticmethod
    def fromString(string: str, format: int = ...) -> QTime: ...
    @overload
    @staticmethod
    def fromString(s: str, format: str) -> QTime: ...
    @staticmethod
    def currentTime() -> QTime: ...
    def msecsTo(self, a0: typing.Union[QTime, datetime.time]) -> int: ...
    def addMSecs(self, ms: int) -> QTime: ...
    def secsTo(self, a0: typing.Union[QTime, datetime.time]) -> int: ...
    def addSecs(self, secs: int) -> QTime: ...
    def setHMS(self, h: int, m: int, s: int, msec: int = ...) -> bool: ...
    @overload
    def toString(self, format: int = ...) -> str: ...
    @overload
    def toString(self, format: str) -> str: ...
    def msec(self) -> int: ...
    def second(self) -> int: ...
    def minute(self) -> int: ...
    def hour(self) -> int: ...
    @overload
    def isValid(self) -> bool: ...
    #@overload
    #@staticmethod
    #def isValid(h: int, m: int, s: int, msec: int = ...) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyTime(self) -> datetime.time: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QDateTime(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, other: typing.Union[QDateTime, datetime.datetime]) -> None: ...
    @overload
    def __init__(self, a0: typing.Union[QDate, datetime.date]) -> None: ...
    @overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], timeSpec: int = ...) -> None: ...
    @overload
    def __init__(self, year: int, month: int, day: int, hour: int, minute: int, second: int = ..., msec: int = ..., timeSpec: int = ...) -> None: ...
    @overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], spec: int, offsetSeconds: int) -> None: ...
    @overload
    def __init__(self, date: typing.Union[QDate, datetime.date], time: typing.Union[QTime, datetime.time], timeZone: QTimeZone) -> None: ...

    @staticmethod
    def currentSecsSinceEpoch() -> int: ...
    @overload
    @staticmethod
    def fromSecsSinceEpoch(secs: int, spec: int = ..., offsetSeconds: int = ...) -> QDateTime: ...
    @overload
    @staticmethod
    def fromSecsSinceEpoch(secs: int, timeZone: QTimeZone) -> QDateTime: ...
    def setSecsSinceEpoch(self, secs: int) -> None: ...
    def toSecsSinceEpoch(self) -> int: ...
    def toTimeZone(self, toZone: QTimeZone) -> QDateTime: ...
    def toOffsetFromUtc(self, offsetSeconds: int) -> QDateTime: ...
    def setTimeZone(self, toZone: QTimeZone) -> None: ...
    def setOffsetFromUtc(self, offsetSeconds: int) -> None: ...
    def isDaylightTime(self) -> bool: ...
    def timeZoneAbbreviation(self) -> str: ...
    def timeZone(self) -> QTimeZone: ...
    def offsetFromUtc(self) -> int: ...
    def swap(self, other: QDateTime) -> None: ...
    @staticmethod
    def currentMSecsSinceEpoch() -> int: ...
    @overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int) -> QDateTime: ...
    @overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int, spec: int, offsetSeconds: int = ...) -> QDateTime: ...
    @overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int, timeZone: QTimeZone) -> QDateTime: ...
    @staticmethod
    def currentDateTimeUtc() -> QDateTime: ...
    def msecsTo(self, a0: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def setMSecsSinceEpoch(self, msecs: int) -> None: ...
    def toMSecsSinceEpoch(self) -> int: ...
    @overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int) -> QDateTime: ...
    @overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int, spec: int, offsetSeconds: int = ...) -> QDateTime: ...
    @overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int, timeZone: QTimeZone) -> QDateTime: ...
    @overload
    @staticmethod
    def fromString(string: str, format: int = ...) -> QDateTime: ...
    @overload
    @staticmethod
    def fromString(s: str, format: str) -> QDateTime: ...
    @staticmethod
    def currentDateTime() -> QDateTime: ...
    def secsTo(self, a0: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def daysTo(self, a0: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def toUTC(self) -> QDateTime: ...
    def toLocalTime(self) -> QDateTime: ...
    def toTimeSpec(self, spec: int) -> QDateTime: ...
    def addMSecs(self, msecs: int) -> QDateTime: ...
    def addSecs(self, secs: int) -> QDateTime: ...
    def addYears(self, years: int) -> QDateTime: ...
    def addMonths(self, months: int) -> QDateTime: ...
    def addDays(self, days: int) -> QDateTime: ...
    @overload
    def toString(self, format: int = ...) -> str: ...
    @overload
    def toString(self, format: str) -> str: ...
    def setTime_t(self, secsSince1Jan1970UTC: int) -> None: ...
    def setTimeSpec(self, spec: int) -> None: ...
    def setTime(self, time: typing.Union[QTime, datetime.time]) -> None: ...
    def setDate(self, date: typing.Union[QDate, datetime.date]) -> None: ...
    def toTime_t(self) -> int: ...
    def timeSpec(self) -> int: ...
    def time(self) -> QTime: ...
    def date(self) -> QDate: ...
    def isValid(self) -> bool: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def toPyDateTime(self) -> datetime.datetime: ...
    def __hash__(self) -> int: ...
    def __repr__(self) -> str: ...


class QDeadlineTimer(sip.simplewrapper):

    ForeverConstant: typing.Type[int]
    #class ForeverConstant(int): ...
    Forever = ... # type: int

    @overload
    def __init__(self, type: int = ...) -> None: ...
    @overload
    def __init__(self, a0: int, type: int = ...) -> None: ...
    @overload
    def __init__(self, msecs: int, type: int = ...) -> None: ...
    @overload
    def __init__(self, a0: QDeadlineTimer) -> None: ...

    @staticmethod
    def current(type: int = ...) -> QDeadlineTimer: ...
    @staticmethod
    def addNSecs(dt: QDeadlineTimer, nsecs: int) -> QDeadlineTimer: ...
    def setPreciseDeadline(self, secs: int, nsecs: int = ..., type: int = ...) -> None: ...
    def setDeadline(self, msecs: int, type: int = ...) -> None: ...
    def deadlineNSecs(self) -> int: ...
    def deadline(self) -> int: ...
    def setPreciseRemainingTime(self, secs: int, nsecs: int = ..., type: int = ...) -> None: ...
    def setRemainingTime(self, msecs: int, type: int = ...) -> None: ...
    def remainingTimeNSecs(self) -> int: ...
    def remainingTime(self) -> int: ...
    def setTimerType(self, type: int) -> None: ...
    def timerType(self) -> int: ...
    def hasExpired(self) -> bool: ...
    def isForever(self) -> bool: ...
    def swap(self, other: QDeadlineTimer) -> None: ...


class QDir(sip.simplewrapper):

    SortFlag: typing.Type[int]
    #class SortFlag(int): ...
    Name = ... # type: int
    Time = ... # type: int
    Size = ... # type: int
    Unsorted = ... # type: int
    SortByMask = ... # type: int
    DirsFirst = ... # type: int
    Reversed = ... # type: int
    IgnoreCase = ... # type: int
    DirsLast = ... # type: int
    LocaleAware = ... # type: int
    Type = ... # type: int
    NoSort = ... # type: int

    Filter: typing.Type[int]
    #class Filter(int): ...
    Dirs = ... # type: int
    Files = ... # type: int
    Drives = ... # type: int
    NoSymLinks = ... # type: int
    AllEntries = ... # type: int
    TypeMask = ... # type: int
    Readable = ... # type: int
    Writable = ... # type: int
    Executable = ... # type: int
    PermissionMask = ... # type: int
    Modified = ... # type: int
    Hidden = ... # type: int
    System = ... # type: int
    AccessMask = ... # type: int
    AllDirs = ... # type: int
    CaseSensitive = ... # type: int
    NoDotAndDotDot = ... # type: int
    NoFilter = ... # type: int
    NoDot = ... # type: int
    NoDotDot = ... # type: int

    Filters: typing.Type[int]
    #class Filters(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QDir.Filters, QDir.Filter]) -> None: ...
        #@overload
        #def __init__(self, a0: QDir.Filters) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QDir.Filters: ...
        #def __int__(self) -> int: ...

    SortFlags: typing.Type[int]
    #class SortFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QDir.SortFlags, QDir.SortFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QDir.SortFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QDir.SortFlags: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, a0: QDir) -> None: ...
    @overload
    def __init__(self, path: str = ...) -> None: ...
    @overload
    def __init__(self, path: str, nameFilter: str, sort: int = ..., filters: int = ...) -> None: ...

    def isEmpty(self, filters: typing.Union[int, int] = ...) -> bool: ...
    @staticmethod
    def listSeparator() -> str: ...
    def swap(self, other: QDir) -> None: ...
    def removeRecursively(self) -> bool: ...
    @staticmethod
    def searchPaths(prefix: str) -> typing.List[str]: ...
    @staticmethod
    def addSearchPath(prefix: str, path: str) -> None: ...
    @staticmethod
    def setSearchPaths(prefix: str, searchPaths: typing.Iterable[str]) -> None: ...
    @staticmethod
    def fromNativeSeparators(pathName: str) -> str: ...
    @staticmethod
    def toNativeSeparators(pathName: str) -> str: ...
    @staticmethod
    def cleanPath(path: str) -> str: ...
    @overload
    @staticmethod
    def match(filters: typing.Iterable[str], fileName: str) -> bool: ...
    @overload
    @staticmethod
    def match(filter: str, fileName: str) -> bool: ...
    @staticmethod
    def tempPath() -> str: ...
    @staticmethod
    def temp() -> QDir: ...
    @staticmethod
    def rootPath() -> str: ...
    @staticmethod
    def root() -> QDir: ...
    @staticmethod
    def homePath() -> str: ...
    @staticmethod
    def home() -> QDir: ...
    @staticmethod
    def currentPath() -> str: ...
    @staticmethod
    def current() -> QDir: ...
    @staticmethod
    def setCurrent(path: str) -> bool: ...
    @staticmethod
    def separator() -> str: ...
    @staticmethod
    def drives() -> typing.List[QFileInfo]: ...
    def refresh(self) -> None: ...
    def rename(self, oldName: str, newName: str) -> bool: ...
    def remove(self, fileName: str) -> bool: ...
    def makeAbsolute(self) -> bool: ...
    def isAbsolute(self) -> bool: ...
    def isRelative(self) -> bool: ...
    @staticmethod
    def isAbsolutePath(path: str) -> bool: ...
    @staticmethod
    def isRelativePath(path: str) -> bool: ...
    def isRoot(self) -> bool: ...
    @overload
    def exists(self) -> bool: ...
    @overload
    def exists(self, name: str) -> bool: ...
    def isReadable(self) -> bool: ...
    def rmpath(self, dirPath: str) -> bool: ...
    def mkpath(self, dirPath: str) -> bool: ...
    def rmdir(self, dirName: str) -> bool: ...
    def mkdir(self, dirName: str) -> bool: ...
    @overload
    def entryInfoList(self, filters: typing.Union[int, int] = ..., sort: typing.Union[int, int] = ...) -> typing.List[QFileInfo]: ...
    @overload
    def entryInfoList(self, nameFilters: typing.Iterable[str], filters: typing.Union[int, int] = ..., sort: typing.Union[int, int] = ...) -> typing.List[QFileInfo]: ...
    @overload
    def entryList(self, filters: typing.Union[int, int] = ..., sort: typing.Union[int, int] = ...) -> typing.List[str]: ...
    @overload
    def entryList(self, nameFilters: typing.Iterable[str], filters: typing.Union[int, int] = ..., sort: typing.Union[int, int] = ...) -> typing.List[str]: ...
    @staticmethod
    def nameFiltersFromString(nameFilter: str) -> typing.List[str]: ...
    def __contains__(self, a0: str) -> int: ...
    @overload
    def __getitem__(self, a0: int) -> str: ...
    @overload
    def __getitem__(self, a0: slice) -> typing.List[str]: ...
    def __len__(self) -> int: ...
    def count(self) -> int: ...
    def setSorting(self, sort: typing.Union[int, int]) -> None: ...
    def sorting(self) -> int: ...
    def setFilter(self, filter: typing.Union[int, int]) -> None: ...
    def filter(self) -> int: ...
    def setNameFilters(self, nameFilters: typing.Iterable[str]) -> None: ...
    def nameFilters(self) -> typing.List[str]: ...
    def cdUp(self) -> bool: ...
    def cd(self, dirName: str) -> bool: ...
    def relativeFilePath(self, fileName: str) -> str: ...
    def absoluteFilePath(self, fileName: str) -> str: ...
    def filePath(self, fileName: str) -> str: ...
    def dirName(self) -> str: ...
    def canonicalPath(self) -> str: ...
    def absolutePath(self) -> str: ...
    def path(self) -> str: ...
    def setPath(self, path: str) -> None: ...


class QDirIterator(sip.simplewrapper):

    IteratorFlag: typing.Type[int]
    #class IteratorFlag(int): ...
    NoIteratorFlags = ... # type: int
    FollowSymlinks = ... # type: int
    Subdirectories = ... # type: int

    IteratorFlags: typing.Type[int]
    #class IteratorFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QDirIterator.IteratorFlags, QDirIterator.IteratorFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QDirIterator.IteratorFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QDirIterator.IteratorFlags: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, dir: QDir, flags: int = ...) -> None: ...
    @overload
    def __init__(self, path: str, flags: int = ...) -> None: ...
    @overload
    def __init__(self, path: str, filters: int, flags: int = ...) -> None: ...
    @overload
    def __init__(self, path: str, nameFilters: typing.Iterable[str], filters: int = ..., flags: int = ...) -> None: ...

    def path(self) -> str: ...
    def fileInfo(self) -> QFileInfo: ...
    def filePath(self) -> str: ...
    def fileName(self) -> str: ...
    def hasNext(self) -> bool: ...
    def next(self) -> str: ...


class QEasingCurve(sip.simplewrapper):

    Type: typing.Type[int]
    #class Type(int): ...
    Linear = ... # type: int
    InQuad = ... # type: int
    OutQuad = ... # type: int
    InOutQuad = ... # type: int
    OutInQuad = ... # type: int
    InCubic = ... # type: int
    OutCubic = ... # type: int
    InOutCubic = ... # type: int
    OutInCubic = ... # type: int
    InQuart = ... # type: int
    OutQuart = ... # type: int
    InOutQuart = ... # type: int
    OutInQuart = ... # type: int
    InQuint = ... # type: int
    OutQuint = ... # type: int
    InOutQuint = ... # type: int
    OutInQuint = ... # type: int
    InSine = ... # type: int
    OutSine = ... # type: int
    InOutSine = ... # type: int
    OutInSine = ... # type: int
    InExpo = ... # type: int
    OutExpo = ... # type: int
    InOutExpo = ... # type: int
    OutInExpo = ... # type: int
    InCirc = ... # type: int
    OutCirc = ... # type: int
    InOutCirc = ... # type: int
    OutInCirc = ... # type: int
    InElastic = ... # type: int
    OutElastic = ... # type: int
    InOutElastic = ... # type: int
    OutInElastic = ... # type: int
    InBack = ... # type: int
    OutBack = ... # type: int
    InOutBack = ... # type: int
    OutInBack = ... # type: int
    InBounce = ... # type: int
    OutBounce = ... # type: int
    InOutBounce = ... # type: int
    OutInBounce = ... # type: int
    InCurve = ... # type: int
    OutCurve = ... # type: int
    SineCurve = ... # type: int
    CosineCurve = ... # type: int
    BezierSpline = ... # type: int
    TCBSpline = ... # type: int
    Custom = ... # type: int

    @overload
    def __init__(self, type: int = ...) -> None: ...
    @overload
    def __init__(self, other: typing.Union[QEasingCurve, int]) -> None: ...

    def toCubicSpline(self) -> typing.List[QPointF]: ...
    def addTCBSegment(self, nextPoint: typing.Union[QPointF, QPoint], t: float, c: float, b: float) -> None: ...
    def addCubicBezierSegment(self, c1: typing.Union[QPointF, QPoint], c2: typing.Union[QPointF, QPoint], endPoint: typing.Union[QPointF, QPoint]) -> None: ...
    def swap(self, other: QEasingCurve) -> None: ...
    def valueForProgress(self, progress: float) -> float: ...
    def customType(self) -> typing.Callable[[float], float]: ...
    def setCustomType(self, func: typing.Callable[[float], float]) -> None: ...
    def setType(self, type: int) -> None: ...
    def type(self) -> int: ...
    def setOvershoot(self, overshoot: float) -> None: ...
    def overshoot(self) -> float: ...
    def setPeriod(self, period: float) -> None: ...
    def period(self) -> float: ...
    def setAmplitude(self, amplitude: float) -> None: ...
    def amplitude(self) -> float: ...


class QElapsedTimer(sip.simplewrapper):

    ClockType: typing.Type[int]
    #class ClockType(int): ...
    SystemTime = ... # type: int
    MonotonicClock = ... # type: int
    TickCounter = ... # type: int
    MachAbsoluteTime = ... # type: int
    PerformanceCounter = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QElapsedTimer) -> None: ...

    def nsecsElapsed(self) -> int: ...
    def secsTo(self, other: QElapsedTimer) -> int: ...
    def msecsTo(self, other: QElapsedTimer) -> int: ...
    def msecsSinceReference(self) -> int: ...
    def hasExpired(self, timeout: int) -> bool: ...
    def elapsed(self) -> int: ...
    def isValid(self) -> bool: ...
    def invalidate(self) -> None: ...
    def restart(self) -> int: ...
    def start(self) -> None: ...
    @staticmethod
    def isMonotonic() -> bool: ...
    @staticmethod
    def clockType() -> int: ...


class QEventLoop(QObject):

    ProcessEventsFlag: typing.Type[int]
    #class ProcessEventsFlag(int): ...
    AllEvents = ... # type: int
    ExcludeUserInputEvents = ... # type: int
    ExcludeSocketNotifiers = ... # type: int
    WaitForMoreEvents = ... # type: int
    X11ExcludeTimers = ... # type: int

    ProcessEventsFlags: typing.Type[int]
    #class ProcessEventsFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QEventLoop.ProcessEventsFlags, QEventLoop.ProcessEventsFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QEventLoop.ProcessEventsFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QEventLoop.ProcessEventsFlags: ...
        #def __int__(self) -> int: ...

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def event(self, event: QEvent) -> bool: ...
    def quit(self) -> None: ...
    def wakeUp(self) -> None: ...
    def isRunning(self) -> bool: ...
    def exit(self, returnCode: int = ...) -> None: ...
    def exec(self, flags: int = ...) -> int: ...
    def exec_(self, flags: int = ...) -> int: ...
    @overload
    def processEvents(self, flags: typing.Union[int, int] = ...) -> bool: ...
    @overload
    def processEvents(self, flags: typing.Union[int, int], maximumTime: int) -> None: ...


class QEventLoopLocker(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, loop: QEventLoop) -> None: ...
    @overload
    def __init__(self, thread: QThread) -> None: ...


class QEventTransition(QAbstractTransition):

    @overload
    def __init__(self, sourceState: typing.Optional[QState] = ..., **props) -> None: ...
    @overload
    def __init__(self, object: QObject, type: int, sourceState: typing.Optional[QState] = ..., **props) -> None: ...

    def event(self, e: QEvent) -> bool: ...
    def onTransition(self, event: QEvent) -> None: ...
    def eventTest(self, event: QEvent) -> bool: ...
    def setEventType(self, type: int) -> None: ...
    def eventType(self) -> int: ...
    def setEventSource(self, object: QObject) -> None: ...
    def eventSource(self) -> QObject: ...


class QFileDevice(QIODevice):

    FileTime: typing.Type[int]
    #class FileTime(int): ...
    FileAccessTime = ... # type: int
    FileBirthTime = ... # type: int
    FileMetadataChangeTime = ... # type: int
    FileModificationTime = ... # type: int

    MemoryMapFlags: typing.Type[int]
    #class MemoryMapFlags(int): ...
    NoOptions = ... # type: int
    MapPrivateOption = ... # type: int

    FileHandleFlag: typing.Type[int]
    #class FileHandleFlag(int): ...
    AutoCloseHandle = ... # type: int
    DontCloseHandle = ... # type: int

    Permission: typing.Type[int]
    #class Permission(int): ...
    ReadOwner = ... # type: int
    WriteOwner = ... # type: int
    ExeOwner = ... # type: int
    ReadUser = ... # type: int
    WriteUser = ... # type: int
    ExeUser = ... # type: int
    ReadGroup = ... # type: int
    WriteGroup = ... # type: int
    ExeGroup = ... # type: int
    ReadOther = ... # type: int
    WriteOther = ... # type: int
    ExeOther = ... # type: int

    FileError: typing.Type[int]
    #class FileError(int): ...
    NoError = ... # type: int
    ReadError = ... # type: int
    WriteError = ... # type: int
    FatalError = ... # type: int
    ResourceError = ... # type: int
    OpenError = ... # type: int
    AbortError = ... # type: int
    TimeOutError = ... # type: int
    UnspecifiedError = ... # type: int
    RemoveError = ... # type: int
    RenameError = ... # type: int
    PositionError = ... # type: int
    ResizeError = ... # type: int
    PermissionsError = ... # type: int
    CopyError = ... # type: int

    Permissions: typing.Type[int]
    #class Permissions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QFileDevice.Permissions, QFileDevice.Permission]) -> None: ...
        #@overload
        #def __init__(self, a0: QFileDevice.Permissions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QFileDevice.Permissions: ...
        #def __int__(self) -> int: ...

    FileHandleFlags: typing.Type[int]
    #class FileHandleFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QFileDevice.FileHandleFlags, QFileDevice.FileHandleFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QFileDevice.FileHandleFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QFileDevice.FileHandleFlags: ...
        #def __int__(self) -> int: ...

    def setFileTime(self, newDate: typing.Union[QDateTime, datetime.datetime], fileTime: int) -> bool: ...
    def fileTime(self, time: int) -> QDateTime: ...
    def readLineData(self, maxlen: int) -> bytes: ...
    def writeData(self, data: bytes) -> int: ...
    def readData(self, maxlen: int) -> bytes: ...
    def unmap(self, address: sip.voidptr) -> bool: ...
    def map(self, offset: int, size: int, flags: int = ...) -> sip.voidptr: ...
    def setPermissions(self, permissionSpec: typing.Union[int, int]) -> bool: ...
    def permissions(self) -> int: ...
    def resize(self, sz: int) -> bool: ...
    def size(self) -> int: ...
    def flush(self) -> bool: ...
    def atEnd(self) -> bool: ...
    def seek(self, offset: int) -> bool: ...
    def pos(self) -> int: ...
    def fileName(self) -> str: ...
    def handle(self) -> int: ...
    def isSequential(self) -> bool: ...
    def close(self) -> None: ...
    def unsetError(self) -> None: ...
    def error(self) -> int: ...


class QFile(QFileDevice):

    @overload
    def __init__(self, **props) -> None: ...
    @overload
    def __init__(self, name: str, **props) -> None: ...
    @overload
    def __init__(self, parent: QObject, **props) -> None: ...
    @overload
    def __init__(self, name: str, parent: QObject, **props) -> None: ...

    @overload
    def setPermissions(self, permissionSpec: typing.Union[int, int]) -> bool: ...
    #@overload
    #@staticmethod
    #def setPermissions(filename: str, permissionSpec: typing.Union[int, int]) -> bool: ...
    @overload
    def permissions(self) -> int: ...
    #@overload
    #@staticmethod
    #def permissions(filename: str) -> int: ...
    @overload
    def resize(self, sz: int) -> bool: ...
    #@overload
    #@staticmethod
    #def resize(filename: str, sz: int) -> bool: ...
    def size(self) -> int: ...
    @overload
    def open(self, flags: typing.Union[int, int]) -> bool: ...
    @overload
    def open(self, fd: int, ioFlags: typing.Union[int, int], handleFlags: typing.Union[int, int] = ...) -> bool: ...
    @overload
    def copy(self, newName: str) -> bool: ...
    #@overload
    #@staticmethod
    #def copy(fileName: str, newName: str) -> bool: ...
    @overload
    def link(self, newName: str) -> bool: ...
    #@overload
    #@staticmethod
    #def link(oldname: str, newName: str) -> bool: ...
    @overload
    def rename(self, newName: str) -> bool: ...
    #@overload
    #@staticmethod
    #def rename(oldName: str, newName: str) -> bool: ...
    @overload
    def remove(self) -> bool: ...
    #@overload
    #@staticmethod
    #def remove(fileName: str) -> bool: ...
    @overload
    def symLinkTarget(self) -> str: ...
    #@overload
    #@staticmethod
    #def symLinkTarget(fileName: str) -> str: ...
    #@overload
    #def exists(self) -> bool: ...
    @overload
    @staticmethod
    def exists(fileName: str) -> bool: ...
    @overload
    @staticmethod
    def decodeName(localFileName: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    @overload
    @staticmethod
    def decodeName(localFileName: str) -> str: ...
    @staticmethod
    def encodeName(fileName: str) -> QByteArray: ...
    def setFileName(self, name: str) -> None: ...
    def fileName(self) -> str: ...


class QFileInfo(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, file: str) -> None: ...
    @overload
    def __init__(self, file: QFile) -> None: ...
    @overload
    def __init__(self, dir: QDir, file: str) -> None: ...
    @overload
    def __init__(self, fileinfo: QFileInfo) -> None: ...

    def fileTime(self, time: int) -> QDateTime: ...
    def metadataChangeTime(self) -> QDateTime: ...
    def birthTime(self) -> QDateTime: ...
    def swap(self, other: QFileInfo) -> None: ...
    def isNativePath(self) -> bool: ...
    def isBundle(self) -> bool: ...
    def bundleName(self) -> str: ...
    def symLinkTarget(self) -> str: ...
    def setCaching(self, on: bool) -> None: ...
    def caching(self) -> bool: ...
    def lastRead(self) -> QDateTime: ...
    def lastModified(self) -> QDateTime: ...
    def created(self) -> QDateTime: ...
    def size(self) -> int: ...
    def permissions(self) -> int: ...
    def permission(self, permissions: typing.Union[int, int]) -> bool: ...
    def groupId(self) -> int: ...
    def group(self) -> str: ...
    def ownerId(self) -> int: ...
    def owner(self) -> str: ...
    def isRoot(self) -> bool: ...
    def isSymLink(self) -> bool: ...
    def isDir(self) -> bool: ...
    def isFile(self) -> bool: ...
    def makeAbsolute(self) -> bool: ...
    def isAbsolute(self) -> bool: ...
    def isRelative(self) -> bool: ...
    def isHidden(self) -> bool: ...
    def isExecutable(self) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def absoluteDir(self) -> QDir: ...
    def dir(self) -> QDir: ...
    def canonicalPath(self) -> str: ...
    def absolutePath(self) -> str: ...
    def path(self) -> str: ...
    def completeSuffix(self) -> str: ...
    def suffix(self) -> str: ...
    def completeBaseName(self) -> str: ...
    def baseName(self) -> str: ...
    def fileName(self) -> str: ...
    def canonicalFilePath(self) -> str: ...
    def absoluteFilePath(self) -> str: ...
    def __fspath__(self) -> typing.Any: ...
    def filePath(self) -> str: ...
    def refresh(self) -> None: ...
    @overload
    def exists(self) -> bool: ...
    #@overload
    #@staticmethod
    #def exists(file: str) -> bool: ...
    @overload
    def setFile(self, file: str) -> None: ...
    @overload
    def setFile(self, file: QFile) -> None: ...
    @overload
    def setFile(self, dir: QDir, file: str) -> None: ...


class QFileSelector(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def allSelectors(self) -> typing.List[str]: ...
    def setExtraSelectors(self, list: typing.Iterable[str]) -> None: ...
    def extraSelectors(self) -> typing.List[str]: ...
    @overload
    def select(self, filePath: str) -> str: ...
    @overload
    def select(self, filePath: QUrl) -> QUrl: ...


class QFileSystemWatcher(QObject):

    directoryChanged: PYQT_SIGNAL
    fileChanged: PYQT_SIGNAL

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, paths: typing.Iterable[str], parent: typing.Optional[QObject] = ..., **props) -> None: ...

    #def fileChanged(self, path: str) -> None: ...
    #def directoryChanged(self, path: str) -> None: ...
    def removePaths(self, files: typing.Iterable[str]) -> typing.List[str]: ...
    def removePath(self, file: str) -> bool: ...
    def files(self) -> typing.List[str]: ...
    def directories(self) -> typing.List[str]: ...
    def addPaths(self, files: typing.Iterable[str]) -> typing.List[str]: ...
    def addPath(self, file: str) -> bool: ...


class QFinalState(QAbstractState):

    def __init__(self, parent: typing.Optional[QState] = ..., **props) -> None: ...

    def event(self, e: QEvent) -> bool: ...
    def onExit(self, event: QEvent) -> None: ...
    def onEntry(self, event: QEvent) -> None: ...


class QHistoryState(QAbstractState):

    defaultStateChanged: PYQT_SIGNAL
    defaultTransitionChanged: PYQT_SIGNAL
    historyTypeChanged: PYQT_SIGNAL

    HistoryType: typing.Type[int]
    #class HistoryType(int): ...
    ShallowHistory = ... # type: int
    DeepHistory = ... # type: int

    @overload
    def __init__(self, parent: typing.Optional[QState] = ..., **props) -> None: ...
    @overload
    def __init__(self, type: int, parent: typing.Optional[QState] = ..., **props) -> None: ...

    #def defaultTransitionChanged(self) -> None: ...
    def setDefaultTransition(self, transition: QAbstractTransition) -> None: ...
    def defaultTransition(self) -> QAbstractTransition: ...
    #def historyTypeChanged(self) -> None: ...
    #def defaultStateChanged(self) -> None: ...
    def event(self, e: QEvent) -> bool: ...
    def onExit(self, event: QEvent) -> None: ...
    def onEntry(self, event: QEvent) -> None: ...
    def setHistoryType(self, type: int) -> None: ...
    def historyType(self) -> int: ...
    def setDefaultState(self, state: QAbstractState) -> None: ...
    def defaultState(self) -> QAbstractState: ...


class QIdentityProxyModel(QAbstractProxyModel):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def headerData(self, section: int, orientation: int, role: int = ...) -> typing.Any: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def setSourceModel(self, sourceModel: QAbstractItemModel) -> None: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: typing.Union[int, int] = ...) -> typing.List[QModelIndex]: ...
    def mapSelectionToSource(self, selection: QItemSelection) -> QItemSelection: ...
    def mapSelectionFromSource(self, selection: QItemSelection) -> QItemSelection: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...


class QItemSelectionRange(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, other: QItemSelectionRange) -> None: ...
    @overload
    def __init__(self, atopLeft: QModelIndex, abottomRight: QModelIndex) -> None: ...
    @overload
    def __init__(self, index: QModelIndex) -> None: ...

    def swap(self, other: QItemSelectionRange) -> None: ...
    def isEmpty(self) -> bool: ...
    def __hash__(self) -> int: ...
    def intersected(self, other: QItemSelectionRange) -> QItemSelectionRange: ...
    def indexes(self) -> typing.List[QModelIndex]: ...
    def isValid(self) -> bool: ...
    def intersects(self, other: QItemSelectionRange) -> bool: ...
    @overload
    def contains(self, index: QModelIndex) -> bool: ...
    @overload
    def contains(self, row: int, column: int, parentIndex: QModelIndex) -> bool: ...
    def model(self) -> QAbstractItemModel: ...
    def parent(self) -> QModelIndex: ...
    def bottomRight(self) -> QPersistentModelIndex: ...
    def topLeft(self) -> QPersistentModelIndex: ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def right(self) -> int: ...
    def bottom(self) -> int: ...
    def left(self) -> int: ...
    def top(self) -> int: ...


class QItemSelectionModel(QObject):

    currentChanged: PYQT_SIGNAL
    currentColumnChanged: PYQT_SIGNAL
    currentRowChanged: PYQT_SIGNAL
    modelChanged: PYQT_SIGNAL
    selectionChanged: PYQT_SIGNAL

    class SelectionFlag(int):
        NoUpdate = ... # type: QItemSelectionModel.SelectionFlag
        Clear = ... # type: QItemSelectionModel.SelectionFlag
        Select = ... # type: QItemSelectionModel.SelectionFlag
        Deselect = ... # type: QItemSelectionModel.SelectionFlag
        Toggle = ... # type: QItemSelectionModel.SelectionFlag
        Current = ... # type: QItemSelectionModel.SelectionFlag
        Rows = ... # type: QItemSelectionModel.SelectionFlag
        Columns = ... # type: QItemSelectionModel.SelectionFlag
        SelectCurrent = ... # type: QItemSelectionModel.SelectionFlag
        ToggleCurrent = ... # type: QItemSelectionModel.SelectionFlag
        ClearAndSelect = ... # type: QItemSelectionModel.SelectionFlag

    SelectionFlags: typing.Type[int]
    #class SelectionFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QItemSelectionModel.SelectionFlags, QItemSelectionModel.SelectionFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QItemSelectionModel.SelectionFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QItemSelectionModel.SelectionFlags: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, model: typing.Optional[QAbstractItemModel] = ..., **props) -> None: ...
    @overload
    def __init__(self, model: QAbstractItemModel, parent: QObject, **props) -> None: ...

    #def modelChanged(self, model: QAbstractItemModel) -> None: ...
    def setModel(self, model: QAbstractItemModel) -> None: ...
    def selectedColumns(self, row: int = ...) -> typing.List[QModelIndex]: ...
    def selectedRows(self, column: int = ...) -> typing.List[QModelIndex]: ...
    def hasSelection(self) -> bool: ...
    def emitSelectionChanged(self, newSelection: QItemSelection, oldSelection: QItemSelection) -> None: ...
    #def currentColumnChanged(self, current: QModelIndex, previous: QModelIndex) -> None: ...
    #def currentRowChanged(self, current: QModelIndex, previous: QModelIndex) -> None: ...
    #def currentChanged(self, current: QModelIndex, previous: QModelIndex) -> None: ...
    #def selectionChanged(self, selected: QItemSelection, deselected: QItemSelection) -> None: ...
    def clearCurrentIndex(self) -> None: ...
    def setCurrentIndex(self, index: QModelIndex, command: typing.Union[int, int]) -> None: ...
    @overload
    def select(self, index: QModelIndex, command: typing.Union[int, int]) -> None: ...
    @overload
    def select(self, selection: QItemSelection, command: typing.Union[int, int]) -> None: ...
    def reset(self) -> None: ...
    def clearSelection(self) -> None: ...
    def clear(self) -> None: ...
    def model(self) -> QAbstractItemModel: ...
    def selection(self) -> QItemSelection: ...
    def selectedIndexes(self) -> typing.List[QModelIndex]: ...
    def columnIntersectsSelection(self, column: int, parent: QModelIndex) -> bool: ...
    def rowIntersectsSelection(self, row: int, parent: QModelIndex) -> bool: ...
    def isColumnSelected(self, column: int, parent: QModelIndex) -> bool: ...
    def isRowSelected(self, row: int, parent: QModelIndex) -> bool: ...
    def isSelected(self, index: QModelIndex) -> bool: ...
    def currentIndex(self) -> QModelIndex: ...


class QItemSelection(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...
    @overload
    def __init__(self, a0: QItemSelection) -> None: ...

    def lastIndexOf(self, value: QItemSelectionRange, from_: int = ...) -> int: ...
    def indexOf(self, value: QItemSelectionRange, from_: int = ...) -> int: ...
    def last(self) -> QItemSelectionRange: ...
    def first(self) -> QItemSelectionRange: ...
    def __len__(self) -> int: ...
    @overload
    def count(self, range: QItemSelectionRange) -> int: ...
    @overload
    def count(self) -> int: ...
    def swap(self, i: int, j: int) -> None: ...
    def move(self, from_: int, to: int) -> None: ...
    def takeLast(self) -> QItemSelectionRange: ...
    def takeFirst(self) -> QItemSelectionRange: ...
    def takeAt(self, i: int) -> QItemSelectionRange: ...
    def removeAll(self, range: QItemSelectionRange) -> int: ...
    def removeAt(self, i: int) -> None: ...
    def replace(self, i: int, range: QItemSelectionRange) -> None: ...
    def insert(self, i: int, range: QItemSelectionRange) -> None: ...
    def prepend(self, range: QItemSelectionRange) -> None: ...
    def append(self, range: QItemSelectionRange) -> None: ...
    def isEmpty(self) -> bool: ...
    def clear(self) -> None: ...
    @overload
    def __getitem__(self, i: int) -> QItemSelectionRange: ...
    @overload
    def __getitem__(self, slice: slice) -> QItemSelection: ...
    @overload
    def __delitem__(self, i: int) -> None: ...
    @overload
    def __delitem__(self, slice: slice) -> None: ...
    @overload
    def __setitem__(self, i: int, range: QItemSelectionRange) -> None: ...
    @overload
    def __setitem__(self, slice: slice, list: QItemSelection) -> None: ...
    @staticmethod
    def split(range: QItemSelectionRange, other: QItemSelectionRange, result: QItemSelection) -> None: ...
    def merge(self, other: QItemSelection, command: typing.Union[int, int]) -> None: ...
    def indexes(self) -> typing.List[QModelIndex]: ...
    def __contains__(self, index: QModelIndex) -> int: ...
    def contains(self, index: QModelIndex) -> bool: ...
    def select(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...


class QJsonParseError(sip.simplewrapper):

    ParseError: typing.Type[int]
    #class ParseError(int): ...
    NoError = ... # type: int
    UnterminatedObject = ... # type: int
    MissingNameSeparator = ... # type: int
    UnterminatedArray = ... # type: int
    MissingValueSeparator = ... # type: int
    IllegalValue = ... # type: int
    TerminationByNumber = ... # type: int
    IllegalNumber = ... # type: int
    IllegalEscapeSequence = ... # type: int
    IllegalUTF8String = ... # type: int
    UnterminatedString = ... # type: int
    MissingObject = ... # type: int
    DeepNesting = ... # type: int
    DocumentTooLarge = ... # type: int
    GarbageAtEnd = ... # type: int

    error = ... # type: int
    offset = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QJsonParseError) -> None: ...

    def errorString(self) -> str: ...


class QJsonDocument(sip.simplewrapper):

    JsonFormat: typing.Type[int]
    #class JsonFormat(int): ...
    Indented = ... # type: int
    Compact = ... # type: int

    DataValidation: typing.Type[int]
    #class DataValidation(int): ...
    Validate = ... # type: int
    BypassValidation = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, object: typing.Dict[str, QJsonValue]) -> None: ...
    @overload
    def __init__(self, array: typing.Iterable[typing.Union[QJsonValue, int, typing.Dict[str, QJsonValue], bool, int, float, str]]) -> None: ...
    @overload
    def __init__(self, other: QJsonDocument) -> None: ...

    @overload
    def __getitem__(self, key: str) -> QJsonValue: ...
    @overload
    def __getitem__(self, i: int) -> QJsonValue: ...
    def swap(self, other: QJsonDocument) -> None: ...
    def isNull(self) -> bool: ...
    def setArray(self, array: typing.Iterable[typing.Union[QJsonValue, int, typing.Dict[str, QJsonValue], bool, int, float, str]]) -> None: ...
    def setObject(self, object: typing.Dict[str, QJsonValue]) -> None: ...
    def array(self) -> typing.List[QJsonValue]: ...
    def object(self) -> typing.Dict[str, QJsonValue]: ...
    def isObject(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    @overload
    def toJson(self) -> QByteArray: ...
    @overload
    def toJson(self, format: int) -> QByteArray: ...
    @staticmethod
    def fromJson(json: typing.Union[QByteArray, bytes, bytearray], error: typing.Optional[QJsonParseError] = ...) -> QJsonDocument: ...
    def toVariant(self) -> typing.Any: ...
    @staticmethod
    def fromVariant(variant: typing.Any) -> QJsonDocument: ...
    def toBinaryData(self) -> QByteArray: ...
    @staticmethod
    def fromBinaryData(data: typing.Union[QByteArray, bytes, bytearray], validation: int = ...) -> QJsonDocument: ...
    def rawData(self) -> typing.Tuple[str, int]: ...
    @staticmethod
    def fromRawData(data: str, size: int, validation: int = ...) -> QJsonDocument: ...


class QJsonValue(sip.simplewrapper):

    Type: typing.Type[int]
    #class Type(int): ...
    Null = ... # type: int
    Bool = ... # type: int
    Double = ... # type: int
    String = ... # type: int
    Array = ... # type: int
    Object = ... # type: int
    Undefined = ... # type: int

    @overload
    def __init__(self, type: int = ...) -> None: ...
    @overload
    def __init__(self, other: typing.Union[QJsonValue, int, typing.Dict[str, QJsonValue], bool, int, float, str]) -> None: ...

    def __hash__(self) -> int: ...
    @overload
    def __getitem__(self, key: str) -> QJsonValue: ...
    @overload
    def __getitem__(self, i: int) -> QJsonValue: ...
    def swap(self, other: QJsonValue) -> None: ...
    @overload
    def toString(self) -> str: ...
    @overload
    def toString(self, defaultValue: str) -> str: ...
    @overload
    def toObject(self) -> typing.Dict[str, QJsonValue]: ...
    @overload
    def toObject(self, defaultValue: typing.Dict[str, QJsonValue]) -> typing.Dict[str, QJsonValue]: ...
    @overload
    def toArray(self) -> typing.List[QJsonValue]: ...
    @overload
    def toArray(self, defaultValue: typing.Iterable[typing.Union[QJsonValue, int, typing.Dict[str, QJsonValue], bool, int, float, str]]) -> typing.List[QJsonValue]: ...
    def toDouble(self, defaultValue: float = ...) -> float: ...
    def toInt(self, defaultValue: int = ...) -> int: ...
    def toBool(self, defaultValue: bool = ...) -> bool: ...
    def isUndefined(self) -> bool: ...
    def isObject(self) -> bool: ...
    def isArray(self) -> bool: ...
    def isString(self) -> bool: ...
    def isDouble(self) -> bool: ...
    def isBool(self) -> bool: ...
    def isNull(self) -> bool: ...
    def type(self) -> int: ...
    def toVariant(self) -> typing.Any: ...
    @staticmethod
    def fromVariant(variant: typing.Any) -> QJsonValue: ...


class QLibrary(QObject):

    LoadHint: typing.Type[int]
    #class LoadHint(int): ...
    ResolveAllSymbolsHint = ... # type: int
    ExportExternalSymbolsHint = ... # type: int
    LoadArchiveMemberHint = ... # type: int
    PreventUnloadHint = ... # type: int
    DeepBindHint = ... # type: int

    LoadHints: typing.Type[int]
    #class LoadHints(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QLibrary.LoadHints, QLibrary.LoadHint]) -> None: ...
        #@overload
        #def __init__(self, a0: QLibrary.LoadHints) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QLibrary.LoadHints: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, fileName: str, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, fileName: str, verNum: int, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, fileName: str, version: str, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def setLoadHints(self, hints: typing.Union[int, int]) -> None: ...
    @overload
    def setFileNameAndVersion(self, fileName: str, verNum: int) -> None: ...
    @overload
    def setFileNameAndVersion(self, fileName: str, version: str) -> None: ...
    def setFileName(self, fileName: str) -> None: ...
    @staticmethod
    def isLibrary(fileName: str) -> bool: ...
    def unload(self) -> bool: ...
    @overload
    def resolve(self, symbol: str) -> sip.voidptr: ...
    #@overload
    #@staticmethod
    #def resolve(fileName: str, symbol: str) -> sip.voidptr: ...
    #@overload
    #@staticmethod
    #def resolve(fileName: str, verNum: int, symbol: str) -> sip.voidptr: ...
    #@overload
    #@staticmethod
    #def resolve(fileName: str, version: str, symbol: str) -> sip.voidptr: ...
    def loadHints(self) -> int: ...
    def load(self) -> bool: ...
    def isLoaded(self) -> bool: ...
    def fileName(self) -> str: ...
    def errorString(self) -> str: ...


class QLibraryInfo(sip.simplewrapper):

    LibraryLocation: typing.Type[int]
    #class LibraryLocation(int): ...
    PrefixPath = ... # type: int
    DocumentationPath = ... # type: int
    HeadersPath = ... # type: int
    LibrariesPath = ... # type: int
    BinariesPath = ... # type: int
    PluginsPath = ... # type: int
    DataPath = ... # type: int
    TranslationsPath = ... # type: int
    SettingsPath = ... # type: int
    ExamplesPath = ... # type: int
    ImportsPath = ... # type: int
    TestsPath = ... # type: int
    LibraryExecutablesPath = ... # type: int
    Qml2ImportsPath = ... # type: int
    ArchDataPath = ... # type: int

    def __init__(self, a0: QLibraryInfo) -> None: ...

    @staticmethod
    def version() -> QVersionNumber: ...
    @staticmethod
    def isDebugBuild() -> bool: ...
    @staticmethod
    def buildDate() -> QDate: ...
    @staticmethod
    def location(a0: int) -> str: ...
    @staticmethod
    def licensedProducts() -> str: ...
    @staticmethod
    def licensee() -> str: ...


class QLine(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, pt1_: QPoint, pt2_: QPoint) -> None: ...
    @overload
    def __init__(self, x1pos: int, y1pos: int, x2pos: int, y2pos: int) -> None: ...
    @overload
    def __init__(self, a0: QLine) -> None: ...

    def center(self) -> QPoint: ...
    def setLine(self, aX1: int, aY1: int, aX2: int, aY2: int) -> None: ...
    def setPoints(self, aP1: QPoint, aP2: QPoint) -> None: ...
    def setP2(self, aP2: QPoint) -> None: ...
    def setP1(self, aP1: QPoint) -> None: ...
    @overload
    def translated(self, p: QPoint) -> QLine: ...
    @overload
    def translated(self, adx: int, ady: int) -> QLine: ...
    @overload
    def translate(self, point: QPoint) -> None: ...
    @overload
    def translate(self, adx: int, ady: int) -> None: ...
    def dy(self) -> int: ...
    def dx(self) -> int: ...
    def p2(self) -> QPoint: ...
    def p1(self) -> QPoint: ...
    def y2(self) -> int: ...
    def x2(self) -> int: ...
    def y1(self) -> int: ...
    def x1(self) -> int: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...


class QLineF(sip.simplewrapper):

    IntersectType: typing.Type[int]
    #class IntersectType(int): ...
    NoIntersection = ... # type: int
    BoundedIntersection = ... # type: int
    UnboundedIntersection = ... # type: int

    @overload
    def __init__(self, line: QLine) -> None: ...
    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, apt1: typing.Union[QPointF, QPoint], apt2: typing.Union[QPointF, QPoint]) -> None: ...
    @overload
    def __init__(self, x1pos: float, y1pos: float, x2pos: float, y2pos: float) -> None: ...
    @overload
    def __init__(self, a0: QLineF) -> None: ...

    def center(self) -> QPointF: ...
    def setLine(self, aX1: float, aY1: float, aX2: float, aY2: float) -> None: ...
    def setPoints(self, aP1: typing.Union[QPointF, QPoint], aP2: typing.Union[QPointF, QPoint]) -> None: ...
    def setP2(self, aP2: typing.Union[QPointF, QPoint]) -> None: ...
    def setP1(self, aP1: typing.Union[QPointF, QPoint]) -> None: ...
    @overload
    def translated(self, p: typing.Union[QPointF, QPoint]) -> QLineF: ...
    @overload
    def translated(self, adx: float, ady: float) -> QLineF: ...
    def angleTo(self, l: QLineF) -> float: ...
    def setAngle(self, angle: float) -> None: ...
    def angle(self) -> float: ...
    @staticmethod
    def fromPolar(length: float, angle: float) -> QLineF: ...
    def toLine(self) -> QLine: ...
    def pointAt(self, t: float) -> QPointF: ...
    def setLength(self, len: float) -> None: ...
    @overload
    def translate(self, point: typing.Union[QPointF, QPoint]) -> None: ...
    @overload
    def translate(self, adx: float, ady: float) -> None: ...
    def normalVector(self) -> QLineF: ...
    def dy(self) -> float: ...
    def dx(self) -> float: ...
    def p2(self) -> QPointF: ...
    def p1(self) -> QPointF: ...
    def y2(self) -> float: ...
    def x2(self) -> float: ...
    def y1(self) -> float: ...
    def x1(self) -> float: ...
    def __repr__(self) -> str: ...
    def intersect(self, l: QLineF, intersectionPoint: typing.Union[QPointF, QPoint]) -> int: ...
    def unitVector(self) -> QLineF: ...
    def length(self) -> float: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...


class QLocale(sip.simplewrapper):

    DataSizeFormat: typing.Type[int]
    #class DataSizeFormat(int): ...
    DataSizeIecFormat = ... # type: int
    DataSizeTraditionalFormat = ... # type: int
    DataSizeSIFormat = ... # type: int

    FloatingPointPrecisionOption: typing.Type[int]
    #class FloatingPointPrecisionOption(int): ...
    FloatingPointShortest = ... # type: int

    QuotationStyle: typing.Type[int]
    #class QuotationStyle(int): ...
    StandardQuotation = ... # type: int
    AlternateQuotation = ... # type: int

    CurrencySymbolFormat: typing.Type[int]
    #class CurrencySymbolFormat(int): ...
    CurrencyIsoCode = ... # type: int
    CurrencySymbol = ... # type: int
    CurrencyDisplayName = ... # type: int

    Script: typing.Type[int]
    #class Script(int): ...
    AnyScript = ... # type: int
    ArabicScript = ... # type: int
    CyrillicScript = ... # type: int
    DeseretScript = ... # type: int
    GurmukhiScript = ... # type: int
    SimplifiedHanScript = ... # type: int
    TraditionalHanScript = ... # type: int
    LatinScript = ... # type: int
    MongolianScript = ... # type: int
    TifinaghScript = ... # type: int
    SimplifiedChineseScript = ... # type: int
    TraditionalChineseScript = ... # type: int
    ArmenianScript = ... # type: int
    BengaliScript = ... # type: int
    CherokeeScript = ... # type: int
    DevanagariScript = ... # type: int
    EthiopicScript = ... # type: int
    GeorgianScript = ... # type: int
    GreekScript = ... # type: int
    GujaratiScript = ... # type: int
    HebrewScript = ... # type: int
    JapaneseScript = ... # type: int
    KhmerScript = ... # type: int
    KannadaScript = ... # type: int
    KoreanScript = ... # type: int
    LaoScript = ... # type: int
    MalayalamScript = ... # type: int
    MyanmarScript = ... # type: int
    OriyaScript = ... # type: int
    TamilScript = ... # type: int
    TeluguScript = ... # type: int
    ThaanaScript = ... # type: int
    ThaiScript = ... # type: int
    TibetanScript = ... # type: int
    SinhalaScript = ... # type: int
    SyriacScript = ... # type: int
    YiScript = ... # type: int
    VaiScript = ... # type: int
    AvestanScript = ... # type: int
    BalineseScript = ... # type: int
    BamumScript = ... # type: int
    BatakScript = ... # type: int
    BopomofoScript = ... # type: int
    BrahmiScript = ... # type: int
    BugineseScript = ... # type: int
    BuhidScript = ... # type: int
    CanadianAboriginalScript = ... # type: int
    CarianScript = ... # type: int
    ChakmaScript = ... # type: int
    ChamScript = ... # type: int
    CopticScript = ... # type: int
    CypriotScript = ... # type: int
    EgyptianHieroglyphsScript = ... # type: int
    FraserScript = ... # type: int
    GlagoliticScript = ... # type: int
    GothicScript = ... # type: int
    HanScript = ... # type: int
    HangulScript = ... # type: int
    HanunooScript = ... # type: int
    ImperialAramaicScript = ... # type: int
    InscriptionalPahlaviScript = ... # type: int
    InscriptionalParthianScript = ... # type: int
    JavaneseScript = ... # type: int
    KaithiScript = ... # type: int
    KatakanaScript = ... # type: int
    KayahLiScript = ... # type: int
    KharoshthiScript = ... # type: int
    LannaScript = ... # type: int
    LepchaScript = ... # type: int
    LimbuScript = ... # type: int
    LinearBScript = ... # type: int
    LycianScript = ... # type: int
    LydianScript = ... # type: int
    MandaeanScript = ... # type: int
    MeiteiMayekScript = ... # type: int
    MeroiticScript = ... # type: int
    MeroiticCursiveScript = ... # type: int
    NkoScript = ... # type: int
    NewTaiLueScript = ... # type: int
    OghamScript = ... # type: int
    OlChikiScript = ... # type: int
    OldItalicScript = ... # type: int
    OldPersianScript = ... # type: int
    OldSouthArabianScript = ... # type: int
    OrkhonScript = ... # type: int
    OsmanyaScript = ... # type: int
    PhagsPaScript = ... # type: int
    PhoenicianScript = ... # type: int
    PollardPhoneticScript = ... # type: int
    RejangScript = ... # type: int
    RunicScript = ... # type: int
    SamaritanScript = ... # type: int
    SaurashtraScript = ... # type: int
    SharadaScript = ... # type: int
    ShavianScript = ... # type: int
    SoraSompengScript = ... # type: int
    CuneiformScript = ... # type: int
    SundaneseScript = ... # type: int
    SylotiNagriScript = ... # type: int
    TagalogScript = ... # type: int
    TagbanwaScript = ... # type: int
    TaiLeScript = ... # type: int
    TaiVietScript = ... # type: int
    TakriScript = ... # type: int
    UgariticScript = ... # type: int
    BrailleScript = ... # type: int
    HiraganaScript = ... # type: int
    CaucasianAlbanianScript = ... # type: int
    BassaVahScript = ... # type: int
    DuployanScript = ... # type: int
    ElbasanScript = ... # type: int
    GranthaScript = ... # type: int
    PahawhHmongScript = ... # type: int
    KhojkiScript = ... # type: int
    LinearAScript = ... # type: int
    MahajaniScript = ... # type: int
    ManichaeanScript = ... # type: int
    MendeKikakuiScript = ... # type: int
    ModiScript = ... # type: int
    MroScript = ... # type: int
    OldNorthArabianScript = ... # type: int
    NabataeanScript = ... # type: int
    PalmyreneScript = ... # type: int
    PauCinHauScript = ... # type: int
    OldPermicScript = ... # type: int
    PsalterPahlaviScript = ... # type: int
    SiddhamScript = ... # type: int
    KhudawadiScript = ... # type: int
    TirhutaScript = ... # type: int
    VarangKshitiScript = ... # type: int
    AhomScript = ... # type: int
    AnatolianHieroglyphsScript = ... # type: int
    HatranScript = ... # type: int
    MultaniScript = ... # type: int
    OldHungarianScript = ... # type: int
    SignWritingScript = ... # type: int
    AdlamScript = ... # type: int
    BhaiksukiScript = ... # type: int
    MarchenScript = ... # type: int
    NewaScript = ... # type: int
    OsageScript = ... # type: int
    TangutScript = ... # type: int
    HanWithBopomofoScript = ... # type: int
    JamoScript = ... # type: int

    MeasurementSystem: typing.Type[int]
    #class MeasurementSystem(int): ...
    MetricSystem = ... # type: int
    ImperialSystem = ... # type: int
    ImperialUSSystem = ... # type: int
    ImperialUKSystem = ... # type: int

    FormatType: typing.Type[int]
    #class FormatType(int): ...
    LongFormat = ... # type: int
    ShortFormat = ... # type: int
    NarrowFormat = ... # type: int

    NumberOption: typing.Type[int]
    #class NumberOption(int): ...
    OmitGroupSeparator = ... # type: int
    RejectGroupSeparator = ... # type: int
    DefaultNumberOptions = ... # type: int
    OmitLeadingZeroInExponent = ... # type: int
    RejectLeadingZeroInExponent = ... # type: int
    IncludeTrailingZeroesAfterDot = ... # type: int
    RejectTrailingZeroesAfterDot = ... # type: int

    Country: typing.Type[int]
    #class Country(int): ...
    AnyCountry = ... # type: int
    Afghanistan = ... # type: int
    Albania = ... # type: int
    Algeria = ... # type: int
    AmericanSamoa = ... # type: int
    Andorra = ... # type: int
    Angola = ... # type: int
    Anguilla = ... # type: int
    Antarctica = ... # type: int
    AntiguaAndBarbuda = ... # type: int
    Argentina = ... # type: int
    Armenia = ... # type: int
    Aruba = ... # type: int
    Australia = ... # type: int
    Austria = ... # type: int
    Azerbaijan = ... # type: int
    Bahamas = ... # type: int
    Bahrain = ... # type: int
    Bangladesh = ... # type: int
    Barbados = ... # type: int
    Belarus = ... # type: int
    Belgium = ... # type: int
    Belize = ... # type: int
    Benin = ... # type: int
    Bermuda = ... # type: int
    Bhutan = ... # type: int
    Bolivia = ... # type: int
    BosniaAndHerzegowina = ... # type: int
    Botswana = ... # type: int
    BouvetIsland = ... # type: int
    Brazil = ... # type: int
    BritishIndianOceanTerritory = ... # type: int
    Bulgaria = ... # type: int
    BurkinaFaso = ... # type: int
    Burundi = ... # type: int
    Cambodia = ... # type: int
    Cameroon = ... # type: int
    Canada = ... # type: int
    CapeVerde = ... # type: int
    CaymanIslands = ... # type: int
    CentralAfricanRepublic = ... # type: int
    Chad = ... # type: int
    Chile = ... # type: int
    China = ... # type: int
    ChristmasIsland = ... # type: int
    CocosIslands = ... # type: int
    Colombia = ... # type: int
    Comoros = ... # type: int
    DemocraticRepublicOfCongo = ... # type: int
    PeoplesRepublicOfCongo = ... # type: int
    CookIslands = ... # type: int
    CostaRica = ... # type: int
    IvoryCoast = ... # type: int
    Croatia = ... # type: int
    Cuba = ... # type: int
    Cyprus = ... # type: int
    CzechRepublic = ... # type: int
    Denmark = ... # type: int
    Djibouti = ... # type: int
    Dominica = ... # type: int
    DominicanRepublic = ... # type: int
    EastTimor = ... # type: int
    Ecuador = ... # type: int
    Egypt = ... # type: int
    ElSalvador = ... # type: int
    EquatorialGuinea = ... # type: int
    Eritrea = ... # type: int
    Estonia = ... # type: int
    Ethiopia = ... # type: int
    FalklandIslands = ... # type: int
    FaroeIslands = ... # type: int
    Finland = ... # type: int
    France = ... # type: int
    FrenchGuiana = ... # type: int
    FrenchPolynesia = ... # type: int
    FrenchSouthernTerritories = ... # type: int
    Gabon = ... # type: int
    Gambia = ... # type: int
    Georgia = ... # type: int
    Germany = ... # type: int
    Ghana = ... # type: int
    Gibraltar = ... # type: int
    Greece = ... # type: int
    Greenland = ... # type: int
    Grenada = ... # type: int
    Guadeloupe = ... # type: int
    Guam = ... # type: int
    Guatemala = ... # type: int
    Guinea = ... # type: int
    GuineaBissau = ... # type: int
    Guyana = ... # type: int
    Haiti = ... # type: int
    HeardAndMcDonaldIslands = ... # type: int
    Honduras = ... # type: int
    HongKong = ... # type: int
    Hungary = ... # type: int
    Iceland = ... # type: int
    India = ... # type: int
    Indonesia = ... # type: int
    Iran = ... # type: int
    Iraq = ... # type: int
    Ireland = ... # type: int
    Israel = ... # type: int
    Italy = ... # type: int
    Jamaica = ... # type: int
    Japan = ... # type: int
    Jordan = ... # type: int
    Kazakhstan = ... # type: int
    Kenya = ... # type: int
    Kiribati = ... # type: int
    DemocraticRepublicOfKorea = ... # type: int
    RepublicOfKorea = ... # type: int
    Kuwait = ... # type: int
    Kyrgyzstan = ... # type: int
    Latvia = ... # type: int
    Lebanon = ... # type: int
    Lesotho = ... # type: int
    Liberia = ... # type: int
    Liechtenstein = ... # type: int
    Lithuania = ... # type: int
    Luxembourg = ... # type: int
    Macau = ... # type: int
    Macedonia = ... # type: int
    Madagascar = ... # type: int
    Malawi = ... # type: int
    Malaysia = ... # type: int
    Maldives = ... # type: int
    Mali = ... # type: int
    Malta = ... # type: int
    MarshallIslands = ... # type: int
    Martinique = ... # type: int
    Mauritania = ... # type: int
    Mauritius = ... # type: int
    Mayotte = ... # type: int
    Mexico = ... # type: int
    Micronesia = ... # type: int
    Moldova = ... # type: int
    Monaco = ... # type: int
    Mongolia = ... # type: int
    Montserrat = ... # type: int
    Morocco = ... # type: int
    Mozambique = ... # type: int
    Myanmar = ... # type: int
    Namibia = ... # type: int
    NauruCountry = ... # type: int
    Nepal = ... # type: int
    Netherlands = ... # type: int
    NewCaledonia = ... # type: int
    NewZealand = ... # type: int
    Nicaragua = ... # type: int
    Niger = ... # type: int
    Nigeria = ... # type: int
    Niue = ... # type: int
    NorfolkIsland = ... # type: int
    NorthernMarianaIslands = ... # type: int
    Norway = ... # type: int
    Oman = ... # type: int
    Pakistan = ... # type: int
    Palau = ... # type: int
    Panama = ... # type: int
    PapuaNewGuinea = ... # type: int
    Paraguay = ... # type: int
    Peru = ... # type: int
    Philippines = ... # type: int
    Pitcairn = ... # type: int
    Poland = ... # type: int
    Portugal = ... # type: int
    PuertoRico = ... # type: int
    Qatar = ... # type: int
    Reunion = ... # type: int
    Romania = ... # type: int
    RussianFederation = ... # type: int
    Rwanda = ... # type: int
    SaintKittsAndNevis = ... # type: int
    Samoa = ... # type: int
    SanMarino = ... # type: int
    SaoTomeAndPrincipe = ... # type: int
    SaudiArabia = ... # type: int
    Senegal = ... # type: int
    Seychelles = ... # type: int
    SierraLeone = ... # type: int
    Singapore = ... # type: int
    Slovakia = ... # type: int
    Slovenia = ... # type: int
    SolomonIslands = ... # type: int
    Somalia = ... # type: int
    SouthAfrica = ... # type: int
    SouthGeorgiaAndTheSouthSandwichIslands = ... # type: int
    Spain = ... # type: int
    SriLanka = ... # type: int
    Sudan = ... # type: int
    Suriname = ... # type: int
    SvalbardAndJanMayenIslands = ... # type: int
    Swaziland = ... # type: int
    Sweden = ... # type: int
    Switzerland = ... # type: int
    SyrianArabRepublic = ... # type: int
    Taiwan = ... # type: int
    Tajikistan = ... # type: int
    Tanzania = ... # type: int
    Thailand = ... # type: int
    Togo = ... # type: int
    Tokelau = ... # type: int
    TrinidadAndTobago = ... # type: int
    Tunisia = ... # type: int
    Turkey = ... # type: int
    Turkmenistan = ... # type: int
    TurksAndCaicosIslands = ... # type: int
    Tuvalu = ... # type: int
    Uganda = ... # type: int
    Ukraine = ... # type: int
    UnitedArabEmirates = ... # type: int
    UnitedKingdom = ... # type: int
    UnitedStates = ... # type: int
    UnitedStatesMinorOutlyingIslands = ... # type: int
    Uruguay = ... # type: int
    Uzbekistan = ... # type: int
    Vanuatu = ... # type: int
    VaticanCityState = ... # type: int
    Venezuela = ... # type: int
    BritishVirginIslands = ... # type: int
    WallisAndFutunaIslands = ... # type: int
    WesternSahara = ... # type: int
    Yemen = ... # type: int
    Zambia = ... # type: int
    Zimbabwe = ... # type: int
    Montenegro = ... # type: int
    Serbia = ... # type: int
    SaintBarthelemy = ... # type: int
    SaintMartin = ... # type: int
    LatinAmericaAndTheCaribbean = ... # type: int
    LastCountry = ... # type: int
    Brunei = ... # type: int
    CongoKinshasa = ... # type: int
    CongoBrazzaville = ... # type: int
    Fiji = ... # type: int
    Guernsey = ... # type: int
    NorthKorea = ... # type: int
    SouthKorea = ... # type: int
    Laos = ... # type: int
    Libya = ... # type: int
    CuraSao = ... # type: int
    PalestinianTerritories = ... # type: int
    Russia = ... # type: int
    SaintLucia = ... # type: int
    SaintVincentAndTheGrenadines = ... # type: int
    SaintHelena = ... # type: int
    SaintPierreAndMiquelon = ... # type: int
    Syria = ... # type: int
    Tonga = ... # type: int
    Vietnam = ... # type: int
    UnitedStatesVirginIslands = ... # type: int
    CanaryIslands = ... # type: int
    ClippertonIsland = ... # type: int
    AscensionIsland = ... # type: int
    AlandIslands = ... # type: int
    DiegoGarcia = ... # type: int
    CeutaAndMelilla = ... # type: int
    IsleOfMan = ... # type: int
    Jersey = ... # type: int
    TristanDaCunha = ... # type: int
    SouthSudan = ... # type: int
    Bonaire = ... # type: int
    SintMaarten = ... # type: int
    Kosovo = ... # type: int
    TokelauCountry = ... # type: int
    TuvaluCountry = ... # type: int
    EuropeanUnion = ... # type: int
    OutlyingOceania = ... # type: int
    LatinAmerica = ... # type: int
    World = ... # type: int
    Europe = ... # type: int

    Language: typing.Type[int]
    #class Language(int): ...
    C = ... # type: int
    Abkhazian = ... # type: int
    Afan = ... # type: int
    Afar = ... # type: int
    Afrikaans = ... # type: int
    Albanian = ... # type: int
    Amharic = ... # type: int
    Arabic = ... # type: int
    Armenian = ... # type: int
    Assamese = ... # type: int
    Aymara = ... # type: int
    Azerbaijani = ... # type: int
    Bashkir = ... # type: int
    Basque = ... # type: int
    Bengali = ... # type: int
    Bhutani = ... # type: int
    Bihari = ... # type: int
    Bislama = ... # type: int
    Breton = ... # type: int
    Bulgarian = ... # type: int
    Burmese = ... # type: int
    Byelorussian = ... # type: int
    Cambodian = ... # type: int
    Catalan = ... # type: int
    Chinese = ... # type: int
    Corsican = ... # type: int
    Croatian = ... # type: int
    Czech = ... # type: int
    Danish = ... # type: int
    Dutch = ... # type: int
    English = ... # type: int
    Esperanto = ... # type: int
    Estonian = ... # type: int
    Faroese = ... # type: int
    Finnish = ... # type: int
    French = ... # type: int
    Frisian = ... # type: int
    Gaelic = ... # type: int
    Galician = ... # type: int
    Georgian = ... # type: int
    German = ... # type: int
    Greek = ... # type: int
    Greenlandic = ... # type: int
    Guarani = ... # type: int
    Gujarati = ... # type: int
    Hausa = ... # type: int
    Hebrew = ... # type: int
    Hindi = ... # type: int
    Hungarian = ... # type: int
    Icelandic = ... # type: int
    Indonesian = ... # type: int
    Interlingua = ... # type: int
    Interlingue = ... # type: int
    Inuktitut = ... # type: int
    Inupiak = ... # type: int
    Irish = ... # type: int
    Italian = ... # type: int
    Japanese = ... # type: int
    Javanese = ... # type: int
    Kannada = ... # type: int
    Kashmiri = ... # type: int
    Kazakh = ... # type: int
    Kinyarwanda = ... # type: int
    Kirghiz = ... # type: int
    Korean = ... # type: int
    Kurdish = ... # type: int
    Kurundi = ... # type: int
    Latin = ... # type: int
    Latvian = ... # type: int
    Lingala = ... # type: int
    Lithuanian = ... # type: int
    Macedonian = ... # type: int
    Malagasy = ... # type: int
    Malay = ... # type: int
    Malayalam = ... # type: int
    Maltese = ... # type: int
    Maori = ... # type: int
    Marathi = ... # type: int
    Moldavian = ... # type: int
    Mongolian = ... # type: int
    NauruLanguage = ... # type: int
    Nepali = ... # type: int
    Norwegian = ... # type: int
    Occitan = ... # type: int
    Oriya = ... # type: int
    Pashto = ... # type: int
    Persian = ... # type: int
    Polish = ... # type: int
    Portuguese = ... # type: int
    Punjabi = ... # type: int
    Quechua = ... # type: int
    RhaetoRomance = ... # type: int
    Romanian = ... # type: int
    Russian = ... # type: int
    Samoan = ... # type: int
    Sanskrit = ... # type: int
    Serbian = ... # type: int
    SerboCroatian = ... # type: int
    Shona = ... # type: int
    Sindhi = ... # type: int
    Slovak = ... # type: int
    Slovenian = ... # type: int
    Somali = ... # type: int
    Spanish = ... # type: int
    Sundanese = ... # type: int
    Swahili = ... # type: int
    Swedish = ... # type: int
    Tagalog = ... # type: int
    Tajik = ... # type: int
    Tamil = ... # type: int
    Tatar = ... # type: int
    Telugu = ... # type: int
    Thai = ... # type: int
    Tibetan = ... # type: int
    Tigrinya = ... # type: int
    Tsonga = ... # type: int
    Turkish = ... # type: int
    Turkmen = ... # type: int
    Twi = ... # type: int
    Uigur = ... # type: int
    Ukrainian = ... # type: int
    Urdu = ... # type: int
    Uzbek = ... # type: int
    Vietnamese = ... # type: int
    Volapuk = ... # type: int
    Welsh = ... # type: int
    Wolof = ... # type: int
    Xhosa = ... # type: int
    Yiddish = ... # type: int
    Yoruba = ... # type: int
    Zhuang = ... # type: int
    Zulu = ... # type: int
    Bosnian = ... # type: int
    Divehi = ... # type: int
    Manx = ... # type: int
    Cornish = ... # type: int
    LastLanguage = ... # type: int
    NorwegianBokmal = ... # type: int
    NorwegianNynorsk = ... # type: int
    Akan = ... # type: int
    Konkani = ... # type: int
    Ga = ... # type: int
    Igbo = ... # type: int
    Kamba = ... # type: int
    Syriac = ... # type: int
    Blin = ... # type: int
    Geez = ... # type: int
    Koro = ... # type: int
    Sidamo = ... # type: int
    Atsam = ... # type: int
    Tigre = ... # type: int
    Jju = ... # type: int
    Friulian = ... # type: int
    Venda = ... # type: int
    Ewe = ... # type: int
    Walamo = ... # type: int
    Hawaiian = ... # type: int
    Tyap = ... # type: int
    Chewa = ... # type: int
    Filipino = ... # type: int
    SwissGerman = ... # type: int
    SichuanYi = ... # type: int
    Kpelle = ... # type: int
    LowGerman = ... # type: int
    SouthNdebele = ... # type: int
    NorthernSotho = ... # type: int
    NorthernSami = ... # type: int
    Taroko = ... # type: int
    Gusii = ... # type: int
    Taita = ... # type: int
    Fulah = ... # type: int
    Kikuyu = ... # type: int
    Samburu = ... # type: int
    Sena = ... # type: int
    NorthNdebele = ... # type: int
    Rombo = ... # type: int
    Tachelhit = ... # type: int
    Kabyle = ... # type: int
    Nyankole = ... # type: int
    Bena = ... # type: int
    Vunjo = ... # type: int
    Bambara = ... # type: int
    Embu = ... # type: int
    Cherokee = ... # type: int
    Morisyen = ... # type: int
    Makonde = ... # type: int
    Langi = ... # type: int
    Ganda = ... # type: int
    Bemba = ... # type: int
    Kabuverdianu = ... # type: int
    Meru = ... # type: int
    Kalenjin = ... # type: int
    Nama = ... # type: int
    Machame = ... # type: int
    Colognian = ... # type: int
    Masai = ... # type: int
    Soga = ... # type: int
    Luyia = ... # type: int
    Asu = ... # type: int
    Teso = ... # type: int
    Saho = ... # type: int
    KoyraChiini = ... # type: int
    Rwa = ... # type: int
    Luo = ... # type: int
    Chiga = ... # type: int
    CentralMoroccoTamazight = ... # type: int
    KoyraboroSenni = ... # type: int
    Shambala = ... # type: int
    AnyLanguage = ... # type: int
    Rundi = ... # type: int
    Bodo = ... # type: int
    Aghem = ... # type: int
    Basaa = ... # type: int
    Zarma = ... # type: int
    Duala = ... # type: int
    JolaFonyi = ... # type: int
    Ewondo = ... # type: int
    Bafia = ... # type: int
    LubaKatanga = ... # type: int
    MakhuwaMeetto = ... # type: int
    Mundang = ... # type: int
    Kwasio = ... # type: int
    Nuer = ... # type: int
    Sakha = ... # type: int
    Sangu = ... # type: int
    CongoSwahili = ... # type: int
    Tasawaq = ... # type: int
    Vai = ... # type: int
    Walser = ... # type: int
    Yangben = ... # type: int
    Oromo = ... # type: int
    Dzongkha = ... # type: int
    Belarusian = ... # type: int
    Khmer = ... # type: int
    Fijian = ... # type: int
    WesternFrisian = ... # type: int
    Lao = ... # type: int
    Marshallese = ... # type: int
    Romansh = ... # type: int
    Sango = ... # type: int
    Ossetic = ... # type: int
    SouthernSotho = ... # type: int
    Tswana = ... # type: int
    Sinhala = ... # type: int
    Swati = ... # type: int
    Sardinian = ... # type: int
    Tongan = ... # type: int
    Tahitian = ... # type: int
    Nyanja = ... # type: int
    Avaric = ... # type: int
    Chamorro = ... # type: int
    Chechen = ... # type: int
    Church = ... # type: int
    Chuvash = ... # type: int
    Cree = ... # type: int
    Haitian = ... # type: int
    Herero = ... # type: int
    HiriMotu = ... # type: int
    Kanuri = ... # type: int
    Komi = ... # type: int
    Kongo = ... # type: int
    Kwanyama = ... # type: int
    Limburgish = ... # type: int
    Luxembourgish = ... # type: int
    Navaho = ... # type: int
    Ndonga = ... # type: int
    Ojibwa = ... # type: int
    Pali = ... # type: int
    Walloon = ... # type: int
    Avestan = ... # type: int
    Asturian = ... # type: int
    Ngomba = ... # type: int
    Kako = ... # type: int
    Meta = ... # type: int
    Ngiemboon = ... # type: int
    Uighur = ... # type: int
    Aragonese = ... # type: int
    Akkadian = ... # type: int
    AncientEgyptian = ... # type: int
    AncientGreek = ... # type: int
    Aramaic = ... # type: int
    Balinese = ... # type: int
    Bamun = ... # type: int
    BatakToba = ... # type: int
    Buginese = ... # type: int
    Buhid = ... # type: int
    Carian = ... # type: int
    Chakma = ... # type: int
    ClassicalMandaic = ... # type: int
    Coptic = ... # type: int
    Dogri = ... # type: int
    EasternCham = ... # type: int
    EasternKayah = ... # type: int
    Etruscan = ... # type: int
    Gothic = ... # type: int
    Hanunoo = ... # type: int
    Ingush = ... # type: int
    LargeFloweryMiao = ... # type: int
    Lepcha = ... # type: int
    Limbu = ... # type: int
    Lisu = ... # type: int
    Lu = ... # type: int
    Lycian = ... # type: int
    Lydian = ... # type: int
    Mandingo = ... # type: int
    Manipuri = ... # type: int
    Meroitic = ... # type: int
    NorthernThai = ... # type: int
    OldIrish = ... # type: int
    OldNorse = ... # type: int
    OldPersian = ... # type: int
    OldTurkish = ... # type: int
    Pahlavi = ... # type: int
    Parthian = ... # type: int
    Phoenician = ... # type: int
    PrakritLanguage = ... # type: int
    Rejang = ... # type: int
    Sabaean = ... # type: int
    Samaritan = ... # type: int
    Santali = ... # type: int
    Saurashtra = ... # type: int
    Sora = ... # type: int
    Sylheti = ... # type: int
    Tagbanwa = ... # type: int
    TaiDam = ... # type: int
    TaiNua = ... # type: int
    Ugaritic = ... # type: int
    Akoose = ... # type: int
    Lakota = ... # type: int
    StandardMoroccanTamazight = ... # type: int
    Mapuche = ... # type: int
    CentralKurdish = ... # type: int
    LowerSorbian = ... # type: int
    UpperSorbian = ... # type: int
    Kenyang = ... # type: int
    Mohawk = ... # type: int
    Nko = ... # type: int
    Prussian = ... # type: int
    Kiche = ... # type: int
    SouthernSami = ... # type: int
    LuleSami = ... # type: int
    InariSami = ... # type: int
    SkoltSami = ... # type: int
    Warlpiri = ... # type: int
    ManichaeanMiddlePersian = ... # type: int
    Mende = ... # type: int
    AncientNorthArabian = ... # type: int
    LinearA = ... # type: int
    HmongNjua = ... # type: int
    Ho = ... # type: int
    Lezghian = ... # type: int
    Bassa = ... # type: int
    Mono = ... # type: int
    TedimChin = ... # type: int
    Maithili = ... # type: int
    Ahom = ... # type: int
    AmericanSignLanguage = ... # type: int
    ArdhamagadhiPrakrit = ... # type: int
    Bhojpuri = ... # type: int
    HieroglyphicLuwian = ... # type: int
    LiteraryChinese = ... # type: int
    Mazanderani = ... # type: int
    Mru = ... # type: int
    Newari = ... # type: int
    NorthernLuri = ... # type: int
    Palauan = ... # type: int
    Papiamento = ... # type: int
    Saraiki = ... # type: int
    TokelauLanguage = ... # type: int
    TokPisin = ... # type: int
    TuvaluLanguage = ... # type: int
    UncodedLanguages = ... # type: int
    Cantonese = ... # type: int
    Osage = ... # type: int
    Tangut = ... # type: int

    NumberOptions: typing.Type[int]
    #class NumberOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QLocale.NumberOptions, QLocale.NumberOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QLocale.NumberOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QLocale.NumberOptions: ...
        #def __int__(self) -> int: ...

    DataSizeFormats: typing.Type[int]
    #class DataSizeFormats(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QLocale.DataSizeFormats, QLocale.DataSizeFormat]) -> None: ...
        #@overload
        #def __init__(self, a0: QLocale.DataSizeFormats) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QLocale.DataSizeFormats: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, name: str) -> None: ...
    @overload
    def __init__(self, language: int, country: int = ...) -> None: ...
    @overload
    def __init__(self, other: QLocale) -> None: ...
    @overload
    def __init__(self, language: int, script: int, country: int) -> None: ...

    def formattedDataSize(self, bytes: int, precision: int = ..., format: typing.Union[int, int] = ...) -> str: ...
    def swap(self, other: QLocale) -> None: ...
    def __hash__(self) -> int: ...
    def createSeparatedList(self, list: typing.Iterable[str]) -> str: ...
    def quoteString(self, str: str, style: int = ...) -> str: ...
    @staticmethod
    def matchingLocales(language: int, script: int, country: int) -> typing.List[QLocale]: ...
    @staticmethod
    def scriptToString(script: int) -> str: ...
    def uiLanguages(self) -> typing.List[str]: ...
    @overload
    def toCurrencyString(self, value: float, symbol: str = ...) -> str: ...
    @overload
    def toCurrencyString(self, value: float, symbol: str, precision: int) -> str: ...
    @overload
    def toCurrencyString(self, value: int, symbol: str = ...) -> str: ...
    def currencySymbol(self, format: int = ...) -> str: ...
    def toLower(self, str: str) -> str: ...
    def toUpper(self, str: str) -> str: ...
    def weekdays(self) -> typing.List[int]: ...
    def firstDayOfWeek(self) -> int: ...
    def nativeCountryName(self) -> str: ...
    def nativeLanguageName(self) -> str: ...
    def bcp47Name(self) -> str: ...
    def script(self) -> int: ...
    def textDirection(self) -> int: ...
    def pmText(self) -> str: ...
    def amText(self) -> str: ...
    def standaloneDayName(self, a0: int, format: int = ...) -> str: ...
    def standaloneMonthName(self, a0: int, format: int = ...) -> str: ...
    def positiveSign(self) -> str: ...
    def measurementSystem(self) -> int: ...
    def numberOptions(self) -> int: ...
    def setNumberOptions(self, options: typing.Union[int, int]) -> None: ...
    def dayName(self, a0: int, format: int = ...) -> str: ...
    def monthName(self, a0: int, format: int = ...) -> str: ...
    def exponential(self) -> str: ...
    def negativeSign(self) -> str: ...
    def zeroDigit(self) -> str: ...
    def percent(self) -> str: ...
    def groupSeparator(self) -> str: ...
    def decimalPoint(self) -> str: ...
    @overload
    def toDateTime(self, string: str, format: int = ...) -> QDateTime: ...
    @overload
    def toDateTime(self, string: str, format: str) -> QDateTime: ...
    @overload
    def toTime(self, string: str, format: int = ...) -> QTime: ...
    @overload
    def toTime(self, string: str, format: str) -> QTime: ...
    @overload
    def toDate(self, string: str, format: int = ...) -> QDate: ...
    @overload
    def toDate(self, string: str, format: str) -> QDate: ...
    def dateTimeFormat(self, format: int = ...) -> str: ...
    def timeFormat(self, format: int = ...) -> str: ...
    def dateFormat(self, format: int = ...) -> str: ...
    @staticmethod
    def system() -> QLocale: ...
    @staticmethod
    def c() -> QLocale: ...
    @staticmethod
    def setDefault(locale: QLocale) -> None: ...
    @staticmethod
    def countryToString(country: int) -> str: ...
    @staticmethod
    def languageToString(language: int) -> str: ...
    @overload
    def toString(self, i: float, format: str = ..., precision: int = ...) -> str: ...
    @overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: str) -> str: ...
    @overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: int = ...) -> str: ...
    @overload
    def toString(self, date: typing.Union[QDate, datetime.date], formatStr: str) -> str: ...
    @overload
    def toString(self, date: typing.Union[QDate, datetime.date], format: int = ...) -> str: ...
    @overload
    def toString(self, time: typing.Union[QTime, datetime.time], formatStr: str) -> str: ...
    @overload
    def toString(self, time: typing.Union[QTime, datetime.time], format: int = ...) -> str: ...
    @overload
    def toString(self, i: int) -> str: ...
    def toDouble(self, s: str) -> typing.Tuple[float, bool]: ...
    def toFloat(self, s: str) -> typing.Tuple[float, bool]: ...
    def toULongLong(self, s: str) -> typing.Tuple[int, bool]: ...
    def toLongLong(self, s: str) -> typing.Tuple[int, bool]: ...
    def toUInt(self, s: str) -> typing.Tuple[int, bool]: ...
    def toInt(self, s: str) -> typing.Tuple[int, bool]: ...
    def toUShort(self, s: str) -> typing.Tuple[int, bool]: ...
    def toShort(self, s: str) -> typing.Tuple[int, bool]: ...
    def name(self) -> str: ...
    def country(self) -> int: ...
    def language(self) -> int: ...


class QLockFile(sip.simplewrapper):

    LockError: typing.Type[int]
    #class LockError(int): ...
    NoError = ... # type: int
    LockFailedError = ... # type: int
    PermissionError = ... # type: int
    UnknownError = ... # type: int

    def __init__(self, fileName: str) -> None: ...

    def error(self) -> int: ...
    def removeStaleLockFile(self) -> bool: ...
    def getLockInfo(self) -> typing.Tuple[bool, int, str, str]: ...
    def isLocked(self) -> bool: ...
    def staleLockTime(self) -> int: ...
    def setStaleLockTime(self, a0: int) -> None: ...
    def unlock(self) -> None: ...
    def tryLock(self, timeout: int = ...) -> bool: ...
    def lock(self) -> bool: ...


class QMessageLogContext(sip.simplewrapper):

    category = ... # type: str
    file = ... # type: str
    function = ... # type: str
    line = ... # type: int


class QMessageLogger(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, file: str, line: int, function: str) -> None: ...
    @overload
    def __init__(self, file: str, line: int, function: str, category: str) -> None: ...

    def info(self, msg: str) -> None: ...
    def fatal(self, msg: str) -> None: ...
    def critical(self, msg: str) -> None: ...
    def warning(self, msg: str) -> None: ...
    def debug(self, msg: str) -> None: ...


class QLoggingCategory(sip.simplewrapper):

    @overload
    def __init__(self, category: str) -> None: ...
    @overload
    def __init__(self, category: str, severityLevel: int) -> None: ...

    @staticmethod
    def setFilterRules(rules: str) -> None: ...
    @staticmethod
    def defaultCategory() -> QLoggingCategory: ...
    def __call__(self) -> QLoggingCategory: ...
    def categoryName(self) -> str: ...
    def isCriticalEnabled(self) -> bool: ...
    def isWarningEnabled(self) -> bool: ...
    def isInfoEnabled(self) -> bool: ...
    def isDebugEnabled(self) -> bool: ...
    def setEnabled(self, type: int, enable: bool) -> None: ...
    def isEnabled(self, type: int) -> bool: ...


class QMargins(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, aleft: int, atop: int, aright: int, abottom: int) -> None: ...
    @overload
    def __init__(self, a0: QMargins) -> None: ...

    def __neg__(self) -> QMargins: ...
    def __pos__(self) -> QMargins: ...
    def setBottom(self, abottom: int) -> None: ...
    def setRight(self, aright: int) -> None: ...
    def setTop(self, atop: int) -> None: ...
    def setLeft(self, aleft: int) -> None: ...
    def bottom(self) -> int: ...
    def right(self) -> int: ...
    def top(self) -> int: ...
    def left(self) -> int: ...
    def isNull(self) -> bool: ...


class QMarginsF(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, aleft: float, atop: float, aright: float, abottom: float) -> None: ...
    @overload
    def __init__(self, margins: QMargins) -> None: ...
    @overload
    def __init__(self, a0: QMarginsF) -> None: ...

    def __neg__(self) -> QMarginsF: ...
    def __pos__(self) -> QMarginsF: ...
    def toMargins(self) -> QMargins: ...
    def setBottom(self, abottom: float) -> None: ...
    def setRight(self, aright: float) -> None: ...
    def setTop(self, atop: float) -> None: ...
    def setLeft(self, aleft: float) -> None: ...
    def bottom(self) -> float: ...
    def right(self) -> float: ...
    def top(self) -> float: ...
    def left(self) -> float: ...
    def isNull(self) -> bool: ...


class QMessageAuthenticationCode(sip.simplewrapper):

    def __init__(self, method: int, key: typing.Union[QByteArray, bytes, bytearray] = ...) -> None: ...

    @staticmethod
    def hash(message: typing.Union[QByteArray, bytes, bytearray], key: typing.Union[QByteArray, bytes, bytearray], method: int) -> QByteArray: ...
    def result(self) -> QByteArray: ...
    @overload
    def addData(self, data: str, length: int) -> None: ...
    @overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def addData(self, device: QIODevice) -> bool: ...
    def setKey(self, key: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def reset(self) -> None: ...


class QMetaMethod(sip.simplewrapper):

    MethodType: typing.Type[int]
    #class MethodType(int): ...
    Method = ... # type: int
    Signal = ... # type: int
    Slot = ... # type: int
    Constructor = ... # type: int

    Access: typing.Type[int]
    #class Access(int): ...
    Private = ... # type: int
    Protected = ... # type: int
    Public = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QMetaMethod) -> None: ...

    def parameterType(self, index: int) -> int: ...
    def parameterCount(self) -> int: ...
    def returnType(self) -> int: ...
    def name(self) -> QByteArray: ...
    def methodSignature(self) -> QByteArray: ...
    def isValid(self) -> bool: ...
    def methodIndex(self) -> int: ...
    @overload
    def invoke(self, object: QObject, connectionType: int, returnValue: QGenericReturnArgument, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    def invoke(self, object: QObject, returnValue: QGenericReturnArgument, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    def invoke(self, object: QObject, connectionType: int, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    def invoke(self, object: QObject, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    def methodType(self) -> int: ...
    def access(self) -> int: ...
    def tag(self) -> str: ...
    def parameterNames(self) -> typing.List[QByteArray]: ...
    def parameterTypes(self) -> typing.List[QByteArray]: ...
    def typeName(self) -> str: ...


class QMetaEnum(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QMetaEnum) -> None: ...

    def enumName(self) -> str: ...
    def isScoped(self) -> bool: ...
    def isValid(self) -> bool: ...
    def valueToKeys(self, value: int) -> QByteArray: ...
    def keysToValue(self, keys: str) -> typing.Tuple[int, bool]: ...
    def valueToKey(self, value: int) -> str: ...
    def keyToValue(self, key: str) -> typing.Tuple[int, bool]: ...
    def scope(self) -> str: ...
    def value(self, index: int) -> int: ...
    def key(self, index: int) -> str: ...
    def keyCount(self) -> int: ...
    def isFlag(self) -> bool: ...
    def name(self) -> str: ...


class QMetaProperty(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QMetaProperty) -> None: ...

    def isFinal(self) -> bool: ...
    def isConstant(self) -> bool: ...
    def propertyIndex(self) -> int: ...
    def notifySignalIndex(self) -> int: ...
    def notifySignal(self) -> QMetaMethod: ...
    def hasNotifySignal(self) -> bool: ...
    def userType(self) -> int: ...
    def isUser(self, object: typing.Optional[QObject] = ...) -> bool: ...
    def isResettable(self) -> bool: ...
    def isValid(self) -> bool: ...
    def hasStdCppSet(self) -> bool: ...
    def reset(self, obj: QObject) -> bool: ...
    def write(self, obj: QObject, value: typing.Any) -> bool: ...
    def read(self, obj: QObject) -> typing.Any: ...
    def enumerator(self) -> QMetaEnum: ...
    def isEnumType(self) -> bool: ...
    def isFlagType(self) -> bool: ...
    def isStored(self, object: typing.Optional[QObject] = ...) -> bool: ...
    def isScriptable(self, object: typing.Optional[QObject] = ...) -> bool: ...
    def isDesignable(self, object: typing.Optional[QObject] = ...) -> bool: ...
    def isWritable(self) -> bool: ...
    def isReadable(self) -> bool: ...
    def type(self) -> int: ...
    def typeName(self) -> str: ...
    def name(self) -> str: ...


class QMetaClassInfo(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QMetaClassInfo) -> None: ...

    def value(self) -> str: ...
    def name(self) -> str: ...


class QMetaType(sip.simplewrapper):

    TypeFlag: typing.Type[int]
    #class TypeFlag(int): ...
    NeedsConstruction = ... # type: int
    NeedsDestruction = ... # type: int
    MovableType = ... # type: int
    PointerToQObject = ... # type: int
    IsEnumeration = ... # type: int

    class Type(int):
        UnknownType = ... # type: QMetaType.Type
        Void = ... # type: QMetaType.Type
        Bool = ... # type: QMetaType.Type
        Int = ... # type: QMetaType.Type
        UInt = ... # type: QMetaType.Type
        LongLong = ... # type: QMetaType.Type
        ULongLong = ... # type: QMetaType.Type
        Double = ... # type: QMetaType.Type
        QChar = ... # type: QMetaType.Type
        QVariantMap = ... # type: QMetaType.Type
        QVariantList = ... # type: QMetaType.Type
        QVariantHash = ... # type: QMetaType.Type
        QString = ... # type: QMetaType.Type
        QStringList = ... # type: QMetaType.Type
        QByteArray = ... # type: QMetaType.Type
        QBitArray = ... # type: QMetaType.Type
        QDate = ... # type: QMetaType.Type
        QTime = ... # type: QMetaType.Type
        QDateTime = ... # type: QMetaType.Type
        QUrl = ... # type: QMetaType.Type
        QLocale = ... # type: QMetaType.Type
        QRect = ... # type: QMetaType.Type
        QRectF = ... # type: QMetaType.Type
        QSize = ... # type: QMetaType.Type
        QSizeF = ... # type: QMetaType.Type
        QLine = ... # type: QMetaType.Type
        QLineF = ... # type: QMetaType.Type
        QPoint = ... # type: QMetaType.Type
        QPointF = ... # type: QMetaType.Type
        QRegExp = ... # type: QMetaType.Type
        LastCoreType = ... # type: QMetaType.Type
        FirstGuiType = ... # type: QMetaType.Type
        QFont = ... # type: QMetaType.Type
        QPixmap = ... # type: QMetaType.Type
        QBrush = ... # type: QMetaType.Type
        QColor = ... # type: QMetaType.Type
        QPalette = ... # type: QMetaType.Type
        QIcon = ... # type: QMetaType.Type
        QImage = ... # type: QMetaType.Type
        QPolygon = ... # type: QMetaType.Type
        QRegion = ... # type: QMetaType.Type
        QBitmap = ... # type: QMetaType.Type
        QCursor = ... # type: QMetaType.Type
        QSizePolicy = ... # type: QMetaType.Type
        QKeySequence = ... # type: QMetaType.Type
        QPen = ... # type: QMetaType.Type
        QTextLength = ... # type: QMetaType.Type
        QTextFormat = ... # type: QMetaType.Type
        QMatrix = ... # type: QMetaType.Type
        QTransform = ... # type: QMetaType.Type
        VoidStar = ... # type: QMetaType.Type
        Long = ... # type: QMetaType.Type
        Short = ... # type: QMetaType.Type
        Char = ... # type: QMetaType.Type
        ULong = ... # type: QMetaType.Type
        UShort = ... # type: QMetaType.Type
        UChar = ... # type: QMetaType.Type
        Float = ... # type: QMetaType.Type
        QObjectStar = ... # type: QMetaType.Type
        QMatrix4x4 = ... # type: QMetaType.Type
        QVector2D = ... # type: QMetaType.Type
        QVector3D = ... # type: QMetaType.Type
        QVector4D = ... # type: QMetaType.Type
        QQuaternion = ... # type: QMetaType.Type
        QEasingCurve = ... # type: QMetaType.Type
        QVariant = ... # type: QMetaType.Type
        QUuid = ... # type: QMetaType.Type
        QModelIndex = ... # type: QMetaType.Type
        QPolygonF = ... # type: QMetaType.Type
        SChar = ... # type: QMetaType.Type
        QRegularExpression = ... # type: QMetaType.Type
        QJsonValue = ... # type: QMetaType.Type
        QJsonObject = ... # type: QMetaType.Type
        QJsonArray = ... # type: QMetaType.Type
        QJsonDocument = ... # type: QMetaType.Type
        QByteArrayList = ... # type: QMetaType.Type
        QPersistentModelIndex = ... # type: QMetaType.Type
        QCborSimpleType = ... # type: QMetaType.Type
        QCborValue = ... # type: QMetaType.Type
        QCborArray = ... # type: QMetaType.Type
        QCborMap = ... # type: QMetaType.Type
        QColorSpace = ... # type: QMetaType.Type
        User = ... # type: QMetaType.Type

    TypeFlags: typing.Type[int]
    #class TypeFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QMetaType.TypeFlags, QMetaType.TypeFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QMetaType.TypeFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QMetaType.TypeFlags: ...
        #def __int__(self) -> int: ...

    def __init__(self, type: int) -> None: ...

    @staticmethod
    def metaObjectForType(type: int) -> QMetaObject: ...
    def isValid(self) -> bool: ...
    def flags(self) -> int: ...
    @staticmethod
    def typeFlags(type: int) -> int: ...
    #@overload
    #@staticmethod
    #def isRegistered(type: int) -> bool: ...
    @overload
    def isRegistered(self) -> bool: ...
    @staticmethod
    def typeName(type: int) -> str: ...
    @staticmethod
    def type(typeName: str) -> int: ...


class QMimeData(QObject):

    def __init__(self, **props) -> None: ...

    def retrieveData(self, mimetype: str, preferredType: int) -> typing.Any: ...
    def removeFormat(self, mimetype: str) -> None: ...
    def clear(self) -> None: ...
    def formats(self) -> typing.List[str]: ...
    def hasFormat(self, mimetype: str) -> bool: ...
    def setData(self, mimetype: str, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def data(self, mimetype: str) -> QByteArray: ...
    def hasColor(self) -> bool: ...
    def setColorData(self, color: typing.Any) -> None: ...
    def colorData(self) -> typing.Any: ...
    def hasImage(self) -> bool: ...
    def setImageData(self, image: typing.Any) -> None: ...
    def imageData(self) -> typing.Any: ...
    def hasHtml(self) -> bool: ...
    def setHtml(self, html: str) -> None: ...
    def html(self) -> str: ...
    def hasText(self) -> bool: ...
    def setText(self, text: str) -> None: ...
    def text(self) -> str: ...
    def hasUrls(self) -> bool: ...
    def setUrls(self, urls: typing.Iterable[QUrl]) -> None: ...
    def urls(self) -> typing.List[QUrl]: ...


class QMimeDatabase(sip.simplewrapper):

    MatchMode: typing.Type[int]
    #class MatchMode(int): ...
    MatchDefault = ... # type: int
    MatchExtension = ... # type: int
    MatchContent = ... # type: int

    def __init__(self) -> None: ...

    def allMimeTypes(self) -> typing.List[QMimeType]: ...
    def suffixForFileName(self, fileName: str) -> str: ...
    @overload
    def mimeTypeForFileNameAndData(self, fileName: str, device: QIODevice) -> QMimeType: ...
    @overload
    def mimeTypeForFileNameAndData(self, fileName: str, data: typing.Union[QByteArray, bytes, bytearray]) -> QMimeType: ...
    def mimeTypeForUrl(self, url: QUrl) -> QMimeType: ...
    @overload
    def mimeTypeForData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> QMimeType: ...
    @overload
    def mimeTypeForData(self, device: QIODevice) -> QMimeType: ...
    def mimeTypesForFileName(self, fileName: str) -> typing.List[QMimeType]: ...
    @overload
    def mimeTypeForFile(self, fileName: str, mode: int = ...) -> QMimeType: ...
    @overload
    def mimeTypeForFile(self, fileInfo: QFileInfo, mode: int = ...) -> QMimeType: ...
    def mimeTypeForName(self, nameOrAlias: str) -> QMimeType: ...


class QMimeType(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, other: QMimeType) -> None: ...

    def __hash__(self) -> int: ...
    def filterString(self) -> str: ...
    def inherits(self, mimeTypeName: str) -> bool: ...
    def preferredSuffix(self) -> str: ...
    def suffixes(self) -> typing.List[str]: ...
    def aliases(self) -> typing.List[str]: ...
    def allAncestors(self) -> typing.List[str]: ...
    def parentMimeTypes(self) -> typing.List[str]: ...
    def globPatterns(self) -> typing.List[str]: ...
    def iconName(self) -> str: ...
    def genericIconName(self) -> str: ...
    def comment(self) -> str: ...
    def name(self) -> str: ...
    def isDefault(self) -> bool: ...
    def isValid(self) -> bool: ...
    def swap(self, other: QMimeType) -> None: ...


class QMutexLocker(sip.simplewrapper):

    def __init__(self, m: QMutex) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def mutex(self) -> QMutex: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...


class QMutex(sip.simplewrapper):

    RecursionMode: typing.Type[int]
    #class RecursionMode(int): ...
    NonRecursive = ... # type: int
    Recursive = ... # type: int

    def __init__(self, mode: int = ...) -> None: ...

    def isRecursive(self) -> bool: ...
    def unlock(self) -> None: ...
    def tryLock(self, timeout: int = ...) -> bool: ...
    def lock(self) -> None: ...


class QSignalBlocker(sip.simplewrapper):

    def __init__(self, o: QObject) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def unblock(self) -> None: ...
    def reblock(self) -> None: ...


class QObjectCleanupHandler(QObject):

    def __init__(self, **props) -> None: ...

    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...
    def remove(self, object: QObject) -> None: ...
    def add(self, object: QObject) -> QObject: ...


class QMetaObject(sip.simplewrapper):

    class Connection:

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, other: QMetaObject.Connection) -> None: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QMetaObject) -> None: ...

    def inherits(self, metaObject: QMetaObject) -> bool: ...
    def constructor(self, index: int) -> QMetaMethod: ...
    def indexOfConstructor(self, constructor: str) -> int: ...
    def constructorCount(self) -> int: ...
    @overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, type: int, ret: QGenericReturnArgument, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, ret: QGenericReturnArgument, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, type: int, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, value0: QGenericArgument = ..., value1: QGenericArgument = ..., value2: QGenericArgument = ..., value3: QGenericArgument = ..., value4: QGenericArgument = ..., value5: QGenericArgument = ..., value6: QGenericArgument = ..., value7: QGenericArgument = ..., value8: QGenericArgument = ..., value9: QGenericArgument = ...) -> typing.Any: ...
    @staticmethod
    def normalizedType(type: str) -> QByteArray: ...
    @staticmethod
    def normalizedSignature(method: str) -> QByteArray: ...
    @staticmethod
    def connectSlotsByName(o: QObject) -> None: ...
    @overload
    @staticmethod
    def checkConnectArgs(signal: str, method: str) -> bool: ...
    @overload
    @staticmethod
    def checkConnectArgs(signal: QMetaMethod, method: QMetaMethod) -> bool: ...
    def classInfo(self, index: int) -> QMetaClassInfo: ...
    def property(self, index: int) -> QMetaProperty: ...
    def enumerator(self, index: int) -> QMetaEnum: ...
    def method(self, index: int) -> QMetaMethod: ...
    def indexOfClassInfo(self, name: str) -> int: ...
    def indexOfProperty(self, name: str) -> int: ...
    def indexOfEnumerator(self, name: str) -> int: ...
    def indexOfSlot(self, slot: str) -> int: ...
    def indexOfSignal(self, signal: str) -> int: ...
    def indexOfMethod(self, method: str) -> int: ...
    def classInfoCount(self) -> int: ...
    def propertyCount(self) -> int: ...
    def enumeratorCount(self) -> int: ...
    def methodCount(self) -> int: ...
    def classInfoOffset(self) -> int: ...
    def propertyOffset(self) -> int: ...
    def enumeratorOffset(self) -> int: ...
    def methodOffset(self) -> int: ...
    def userProperty(self) -> QMetaProperty: ...
    def superClass(self) -> QMetaObject: ...
    def className(self) -> str: ...


class QGenericArgument(sip.simplewrapper): ...


class QGenericReturnArgument(sip.simplewrapper): ...


class QOperatingSystemVersion(sip.simplewrapper):

    OSType: typing.Type[int]
    #class OSType(int): ...
    Unknown = ... # type: int
    Windows = ... # type: int
    MacOS = ... # type: int
    IOS = ... # type: int
    TvOS = ... # type: int
    WatchOS = ... # type: int
    Android = ... # type: int

    AndroidJellyBean = ... # type: QOperatingSystemVersion
    AndroidJellyBean_MR1 = ... # type: QOperatingSystemVersion
    AndroidJellyBean_MR2 = ... # type: QOperatingSystemVersion
    AndroidKitKat = ... # type: QOperatingSystemVersion
    AndroidLollipop = ... # type: QOperatingSystemVersion
    AndroidLollipop_MR1 = ... # type: QOperatingSystemVersion
    AndroidMarshmallow = ... # type: QOperatingSystemVersion
    AndroidNougat = ... # type: QOperatingSystemVersion
    AndroidNougat_MR1 = ... # type: QOperatingSystemVersion
    AndroidOreo = ... # type: QOperatingSystemVersion
    MacOSHighSierra = ... # type: QOperatingSystemVersion
    MacOSMojave = ... # type: QOperatingSystemVersion
    MacOSSierra = ... # type: QOperatingSystemVersion
    OSXElCapitan = ... # type: QOperatingSystemVersion
    OSXMavericks = ... # type: QOperatingSystemVersion
    OSXYosemite = ... # type: QOperatingSystemVersion
    Windows10 = ... # type: QOperatingSystemVersion
    Windows7 = ... # type: QOperatingSystemVersion
    Windows8 = ... # type: QOperatingSystemVersion
    Windows8_1 = ... # type: QOperatingSystemVersion

    @overload
    def __init__(self, osType: int, vmajor: int, vminor: int = ..., vmicro: int = ...) -> None: ...
    @overload
    def __init__(self, a0: QOperatingSystemVersion) -> None: ...

    def name(self) -> str: ...
    def type(self) -> int: ...
    def segmentCount(self) -> int: ...
    def microVersion(self) -> int: ...
    def minorVersion(self) -> int: ...
    def majorVersion(self) -> int: ...
    @staticmethod
    def currentType() -> int: ...
    @staticmethod
    def current() -> QOperatingSystemVersion: ...


class QParallelAnimationGroup(QAnimationGroup):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def updateDirection(self, direction: int) -> None: ...
    def updateState(self, newState: int, oldState: int) -> None: ...
    def updateCurrentTime(self, currentTime: int) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    def duration(self) -> int: ...


class QPauseAnimation(QAbstractAnimation):

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, msecs: int, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, e: QEvent) -> bool: ...
    def setDuration(self, msecs: int) -> None: ...
    def duration(self) -> int: ...


class QVariantAnimation(QAbstractAnimation):

    valueChanged: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def interpolated(self, from_: typing.Any, to: typing.Any, progress: float) -> typing.Any: ...
    def updateCurrentValue(self, value: typing.Any) -> None: ...
    def updateState(self, newState: int, oldState: int) -> None: ...
    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    #def valueChanged(self, value: typing.Any) -> None: ...
    def setEasingCurve(self, easing: typing.Union[QEasingCurve, int]) -> None: ...
    def easingCurve(self) -> QEasingCurve: ...
    def setDuration(self, msecs: int) -> None: ...
    def duration(self) -> int: ...
    def currentValue(self) -> typing.Any: ...
    def setKeyValues(self, values: typing.Iterable[typing.Tuple[float, typing.Any]]) -> None: ...
    def keyValues(self) -> typing.List[typing.Tuple[float, typing.Any]]: ...
    def setKeyValueAt(self, step: float, value: typing.Any) -> None: ...
    def keyValueAt(self, step: float) -> typing.Any: ...
    def setEndValue(self, value: typing.Any) -> None: ...
    def endValue(self) -> typing.Any: ...
    def setStartValue(self, value: typing.Any) -> None: ...
    def startValue(self) -> typing.Any: ...


class QPropertyAnimation(QVariantAnimation):

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, target: QObject, propertyName: typing.Union[QByteArray, bytes, bytearray], parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def updateState(self, newState: int, oldState: int) -> None: ...
    def updateCurrentValue(self, value: typing.Any) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    def setPropertyName(self, propertyName: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def propertyName(self) -> QByteArray: ...
    def setTargetObject(self, target: QObject) -> None: ...
    def targetObject(self) -> QObject: ...


class QPluginLoader(QObject):

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, fileName: str, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def loadHints(self) -> int: ...
    def setLoadHints(self, loadHints: typing.Union[int, int]) -> None: ...
    def errorString(self) -> str: ...
    def fileName(self) -> str: ...
    def setFileName(self, fileName: str) -> None: ...
    def isLoaded(self) -> bool: ...
    def unload(self) -> bool: ...
    def load(self) -> bool: ...
    @staticmethod
    def staticInstances() -> typing.List[QObject]: ...
    def instance(self) -> QObject: ...


class QPoint(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, xpos: int, ypos: int) -> None: ...
    @overload
    def __init__(self, a0: QPoint) -> None: ...

    def __neg__(self) -> QPoint: ...
    def __pos__(self) -> QPoint: ...
    @staticmethod
    def dotProduct(p1: QPoint, p2: QPoint) -> int: ...
    def setY(self, ypos: int) -> None: ...
    def setX(self, xpos: int) -> None: ...
    def y(self) -> int: ...
    def x(self) -> int: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    def manhattanLength(self) -> int: ...


class QPointF(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, xpos: float, ypos: float) -> None: ...
    @overload
    def __init__(self, p: QPoint) -> None: ...
    @overload
    def __init__(self, a0: QPointF) -> None: ...

    def __neg__(self) -> QPointF: ...
    def __pos__(self) -> QPointF: ...
    @staticmethod
    def dotProduct(p1: typing.Union[QPointF, QPoint], p2: typing.Union[QPointF, QPoint]) -> float: ...
    def manhattanLength(self) -> float: ...
    def toPoint(self) -> QPoint: ...
    def setY(self, ypos: float) -> None: ...
    def setX(self, xpos: float) -> None: ...
    def y(self) -> float: ...
    def x(self) -> float: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...


class _QProcessErrorMethod(PYQT_SIGNAL, typing.Callable[[], int]): ...


class QProcess(QIODevice):

    error: _QProcessErrorMethod
    errorOccurred: PYQT_SIGNAL
    finished: PYQT_SIGNAL
    readyReadStandardError: PYQT_SIGNAL
    readyReadStandardOutput: PYQT_SIGNAL
    started: PYQT_SIGNAL
    stateChanged: PYQT_SIGNAL

    InputChannelMode: typing.Type[int]
    #class InputChannelMode(int): ...
    ManagedInputChannel = ... # type: int
    ForwardedInputChannel = ... # type: int

    ProcessChannelMode: typing.Type[int]
    #class ProcessChannelMode(int): ...
    SeparateChannels = ... # type: int
    MergedChannels = ... # type: int
    ForwardedChannels = ... # type: int
    ForwardedOutputChannel = ... # type: int
    ForwardedErrorChannel = ... # type: int

    class ProcessChannel(int):
        StandardOutput = ... # type: QProcess.ProcessChannel
        StandardError = ... # type: QProcess.ProcessChannel

    class ProcessState(int):
        NotRunning = ... # type: QProcess.ProcessState
        Starting = ... # type: QProcess.ProcessState
        Running = ... # type: QProcess.ProcessState

    class ProcessError(int):
        FailedToStart = ... # type: QProcess.ProcessError
        Crashed = ... # type: QProcess.ProcessError
        Timedout = ... # type: QProcess.ProcessError
        ReadError = ... # type: QProcess.ProcessError
        WriteError = ... # type: QProcess.ProcessError
        UnknownError = ... # type: QProcess.ProcessError

    class ExitStatus(int):
        NormalExit = ... # type: QProcess.ExitStatus
        CrashExit = ... # type: QProcess.ExitStatus

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def processId(self) -> int: ...
    @staticmethod
    def nullDevice() -> str: ...
    def setInputChannelMode(self, mode: int) -> None: ...
    def inputChannelMode(self) -> int: ...
    def open(self, mode: typing.Union[int, int] = ...) -> bool: ...
    def setArguments(self, arguments: typing.Iterable[str]) -> None: ...
    def arguments(self) -> typing.List[str]: ...
    def setProgram(self, program: str) -> None: ...
    def program(self) -> str: ...
    def processEnvironment(self) -> QProcessEnvironment: ...
    def setProcessEnvironment(self, environment: QProcessEnvironment) -> None: ...
    def writeData(self, data: bytes) -> int: ...
    def readData(self, maxlen: int) -> bytes: ...
    def setupChildProcess(self) -> None: ...
    def setProcessState(self, state: int) -> None: ...
    #def errorOccurred(self, error: int) -> None: ...
    #def readyReadStandardError(self) -> None: ...
    #def readyReadStandardOutput(self) -> None: ...
    #def stateChanged(self, state: int) -> None: ...
    #def finished(self, exitCode: int, exitStatus: int) -> None: ...
    #def started(self) -> None: ...
    def kill(self) -> None: ...
    def terminate(self) -> None: ...
    def setStandardOutputProcess(self, destination: QProcess) -> None: ...
    def setStandardErrorFile(self, fileName: str, mode: typing.Union[int, int] = ...) -> None: ...
    def setStandardOutputFile(self, fileName: str, mode: typing.Union[int, int] = ...) -> None: ...
    def setStandardInputFile(self, fileName: str) -> None: ...
    def setProcessChannelMode(self, mode: int) -> None: ...
    def processChannelMode(self) -> int: ...
    @staticmethod
    def systemEnvironment() -> typing.List[str]: ...
    @overload
    @staticmethod
    def startDetached(program: str, arguments: typing.Iterable[str], workingDirectory: str) -> typing.Tuple[bool, int]: ...
    @overload
    @staticmethod
    def startDetached(program: str, arguments: typing.Iterable[str]) -> bool: ...
    @overload
    @staticmethod
    def startDetached(program: str) -> bool: ...
    #@overload
    #def startDetached(self) -> typing.Tuple[bool, int]: ...
    @overload
    @staticmethod
    def execute(program: str, arguments: typing.Iterable[str]) -> int: ...
    @overload
    @staticmethod
    def execute(program: str) -> int: ...
    def atEnd(self) -> bool: ...
    def close(self) -> None: ...
    def canReadLine(self) -> bool: ...
    def isSequential(self) -> bool: ...
    def bytesToWrite(self) -> int: ...
    def bytesAvailable(self) -> int: ...
    def exitStatus(self) -> int: ...
    def exitCode(self) -> int: ...
    def readAllStandardError(self) -> QByteArray: ...
    def readAllStandardOutput(self) -> QByteArray: ...
    def waitForFinished(self, msecs: int = ...) -> bool: ...
    def waitForBytesWritten(self, msecs: int = ...) -> bool: ...
    def waitForReadyRead(self, msecs: int = ...) -> bool: ...
    def waitForStarted(self, msecs: int = ...) -> bool: ...
    def pid(self) -> int: ...
    def state(self) -> int: ...
    #@overload
    #def error(self) -> int: ...
    #@overload
    #def error(self, error: int) -> None: ...
    def setWorkingDirectory(self, dir: str) -> None: ...
    def workingDirectory(self) -> str: ...
    def closeWriteChannel(self) -> None: ...
    def closeReadChannel(self, channel: int) -> None: ...
    def setReadChannel(self, channel: int) -> None: ...
    def readChannel(self) -> int: ...
    @overload
    def start(self, program: str, arguments: typing.Iterable[str], mode: typing.Union[int, int] = ...) -> None: ...
    @overload
    def start(self, command: str, mode: typing.Union[int, int] = ...) -> None: ...
    @overload
    def start(self, mode: typing.Union[int, int] = ...) -> None: ...


class QProcessEnvironment(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, other: QProcessEnvironment) -> None: ...

    def swap(self, other: QProcessEnvironment) -> None: ...
    def keys(self) -> typing.List[str]: ...
    @staticmethod
    def systemEnvironment() -> QProcessEnvironment: ...
    def toStringList(self) -> typing.List[str]: ...
    def value(self, name: str, defaultValue: str = ...) -> str: ...
    def remove(self, name: str) -> None: ...
    @overload
    def insert(self, name: str, value: str) -> None: ...
    @overload
    def insert(self, e: QProcessEnvironment) -> None: ...
    def contains(self, name: str) -> bool: ...
    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...


class QRandomGenerator(sip.simplewrapper):

    @overload
    def __init__(self, seed: int = ...) -> None: ...
    @overload
    def __init__(self, other: QRandomGenerator) -> None: ...

    @staticmethod
    def securelySeeded() -> QRandomGenerator: ...
    @staticmethod
    def global_() -> QRandomGenerator: ...
    @staticmethod
    def system() -> QRandomGenerator: ...
    @staticmethod
    def max() -> int: ...
    @staticmethod
    def min() -> int: ...
    def discard(self, z: int) -> None: ...
    def seed(self, seed: int = ...) -> None: ...
    def __call__(self) -> int: ...
    @overload
    def bounded(self, highest: float) -> float: ...
    @overload
    def bounded(self, highest: int) -> int: ...
    @overload
    def bounded(self, lowest: int, highest: int) -> int: ...
    def generateDouble(self) -> float: ...
    def generate64(self) -> int: ...
    def generate(self) -> int: ...


class QReadWriteLock(sip.simplewrapper):

    RecursionMode: typing.Type[int]
    #class RecursionMode(int): ...
    NonRecursive = ... # type: int
    Recursive = ... # type: int

    def __init__(self, recursionMode: int = ...) -> None: ...

    def unlock(self) -> None: ...
    @overload
    def tryLockForWrite(self) -> bool: ...
    @overload
    def tryLockForWrite(self, timeout: int) -> bool: ...
    def lockForWrite(self) -> None: ...
    @overload
    def tryLockForRead(self) -> bool: ...
    @overload
    def tryLockForRead(self, timeout: int) -> bool: ...
    def lockForRead(self) -> None: ...


class QReadLocker(sip.simplewrapper):

    def __init__(self, areadWriteLock: QReadWriteLock) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def readWriteLock(self) -> QReadWriteLock: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...


class QWriteLocker(sip.simplewrapper):

    def __init__(self, areadWriteLock: QReadWriteLock) -> None: ...

    def __exit__(self, type: typing.Any, value: typing.Any, traceback: typing.Any) -> None: ...
    def __enter__(self) -> typing.Any: ...
    def readWriteLock(self) -> QReadWriteLock: ...
    def relock(self) -> None: ...
    def unlock(self) -> None: ...


class QRect(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, aleft: int, atop: int, awidth: int, aheight: int) -> None: ...
    @overload
    def __init__(self, atopLeft: QPoint, abottomRight: QPoint) -> None: ...
    @overload
    def __init__(self, atopLeft: QPoint, asize: QSize) -> None: ...
    @overload
    def __init__(self, a0: QRect) -> None: ...

    def transposed(self) -> QRect: ...
    def marginsRemoved(self, margins: QMargins) -> QRect: ...
    def marginsAdded(self, margins: QMargins) -> QRect: ...
    def united(self, r: QRect) -> QRect: ...
    def intersected(self, other: QRect) -> QRect: ...
    def setSize(self, s: QSize) -> None: ...
    def setHeight(self, h: int) -> None: ...
    def setWidth(self, w: int) -> None: ...
    def adjust(self, dx1: int, dy1: int, dx2: int, dy2: int) -> None: ...
    def adjusted(self, xp1: int, yp1: int, xp2: int, yp2: int) -> QRect: ...
    def setCoords(self, xp1: int, yp1: int, xp2: int, yp2: int) -> None: ...
    def getCoords(self) -> typing.Tuple[int, int, int, int]: ...
    def setRect(self, ax: int, ay: int, aw: int, ah: int) -> None: ...
    def getRect(self) -> typing.Tuple[int, int, int, int]: ...
    def moveBottomLeft(self, p: QPoint) -> None: ...
    def moveTopRight(self, p: QPoint) -> None: ...
    def moveBottomRight(self, p: QPoint) -> None: ...
    def moveTopLeft(self, p: QPoint) -> None: ...
    def moveBottom(self, pos: int) -> None: ...
    def moveRight(self, pos: int) -> None: ...
    def moveTop(self, pos: int) -> None: ...
    def moveLeft(self, pos: int) -> None: ...
    @overload
    def moveTo(self, ax: int, ay: int) -> None: ...
    @overload
    def moveTo(self, p: QPoint) -> None: ...
    @overload
    def translated(self, dx: int, dy: int) -> QRect: ...
    @overload
    def translated(self, p: QPoint) -> QRect: ...
    @overload
    def translate(self, dx: int, dy: int) -> None: ...
    @overload
    def translate(self, p: QPoint) -> None: ...
    def size(self) -> QSize: ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def center(self) -> QPoint: ...
    def bottomLeft(self) -> QPoint: ...
    def topRight(self) -> QPoint: ...
    def bottomRight(self) -> QPoint: ...
    def topLeft(self) -> QPoint: ...
    def setY(self, ay: int) -> None: ...
    def setX(self, ax: int) -> None: ...
    def setBottomLeft(self, p: QPoint) -> None: ...
    def setTopRight(self, p: QPoint) -> None: ...
    def setBottomRight(self, p: QPoint) -> None: ...
    def setTopLeft(self, p: QPoint) -> None: ...
    def setBottom(self, pos: int) -> None: ...
    def setRight(self, pos: int) -> None: ...
    def setTop(self, pos: int) -> None: ...
    def setLeft(self, pos: int) -> None: ...
    def y(self) -> int: ...
    def x(self) -> int: ...
    def bottom(self) -> int: ...
    def right(self) -> int: ...
    def top(self) -> int: ...
    def left(self) -> int: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    def intersects(self, r: QRect) -> bool: ...
    @overload
    def __contains__(self, p: QPoint) -> int: ...
    @overload
    def __contains__(self, r: QRect) -> int: ...
    @overload
    def contains(self, point: QPoint, proper: bool = ...) -> bool: ...
    @overload
    def contains(self, rectangle: QRect, proper: bool = ...) -> bool: ...
    @overload
    def contains(self, ax: int, ay: int, aproper: bool) -> bool: ...
    @overload
    def contains(self, ax: int, ay: int) -> bool: ...
    def moveCenter(self, p: QPoint) -> None: ...
    def normalized(self) -> QRect: ...


class QRectF(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, atopLeft: typing.Union[QPointF, QPoint], asize: QSizeF) -> None: ...
    @overload
    def __init__(self, atopLeft: typing.Union[QPointF, QPoint], abottomRight: typing.Union[QPointF, QPoint]) -> None: ...
    @overload
    def __init__(self, aleft: float, atop: float, awidth: float, aheight: float) -> None: ...
    @overload
    def __init__(self, r: QRect) -> None: ...
    @overload
    def __init__(self, a0: QRectF) -> None: ...

    def transposed(self) -> QRectF: ...
    def marginsRemoved(self, margins: QMarginsF) -> QRectF: ...
    def marginsAdded(self, margins: QMarginsF) -> QRectF: ...
    def toRect(self) -> QRect: ...
    def toAlignedRect(self) -> QRect: ...
    def united(self, r: QRectF) -> QRectF: ...
    def intersected(self, r: QRectF) -> QRectF: ...
    def setSize(self, s: QSizeF) -> None: ...
    def setHeight(self, ah: float) -> None: ...
    def setWidth(self, aw: float) -> None: ...
    def adjusted(self, xp1: float, yp1: float, xp2: float, yp2: float) -> QRectF: ...
    def adjust(self, xp1: float, yp1: float, xp2: float, yp2: float) -> None: ...
    def setCoords(self, xp1: float, yp1: float, xp2: float, yp2: float) -> None: ...
    def getCoords(self) -> typing.Tuple[float, float, float, float]: ...
    def setRect(self, ax: float, ay: float, aaw: float, aah: float) -> None: ...
    def getRect(self) -> typing.Tuple[float, float, float, float]: ...
    @overload
    def translated(self, dx: float, dy: float) -> QRectF: ...
    @overload
    def translated(self, p: typing.Union[QPointF, QPoint]) -> QRectF: ...
    @overload
    def moveTo(self, ax: float, ay: float) -> None: ...
    @overload
    def moveTo(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    @overload
    def translate(self, dx: float, dy: float) -> None: ...
    @overload
    def translate(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def size(self) -> QSizeF: ...
    def height(self) -> float: ...
    def width(self) -> float: ...
    def moveCenter(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def moveBottomRight(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def moveBottomLeft(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def moveTopRight(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def moveTopLeft(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def moveBottom(self, pos: float) -> None: ...
    def moveRight(self, pos: float) -> None: ...
    def moveTop(self, pos: float) -> None: ...
    def moveLeft(self, pos: float) -> None: ...
    def center(self) -> QPointF: ...
    def setBottomRight(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def setBottomLeft(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def setTopRight(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def setTopLeft(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    def setBottom(self, pos: float) -> None: ...
    def setTop(self, pos: float) -> None: ...
    def setRight(self, pos: float) -> None: ...
    def setLeft(self, pos: float) -> None: ...
    def y(self) -> float: ...
    def x(self) -> float: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def intersects(self, r: QRectF) -> bool: ...
    @overload
    def __contains__(self, p: typing.Union[QPointF, QPoint]) -> int: ...
    @overload
    def __contains__(self, r: QRectF) -> int: ...
    @overload
    def contains(self, p: typing.Union[QPointF, QPoint]) -> bool: ...
    @overload
    def contains(self, r: QRectF) -> bool: ...
    @overload
    def contains(self, ax: float, ay: float) -> bool: ...
    def bottomLeft(self) -> QPointF: ...
    def topRight(self) -> QPointF: ...
    def bottomRight(self) -> QPointF: ...
    def topLeft(self) -> QPointF: ...
    def setY(self, pos: float) -> None: ...
    def setX(self, pos: float) -> None: ...
    def bottom(self) -> float: ...
    def right(self) -> float: ...
    def top(self) -> float: ...
    def left(self) -> float: ...
    def normalized(self) -> QRectF: ...
    def __repr__(self) -> str: ...


class QRegExp(sip.simplewrapper):

    CaretMode: typing.Type[int]
    #class CaretMode(int): ...
    CaretAtZero = ... # type: int
    CaretAtOffset = ... # type: int
    CaretWontMatch = ... # type: int

    PatternSyntax: typing.Type[int]
    #class PatternSyntax(int): ...
    RegExp = ... # type: int
    RegExp2 = ... # type: int
    Wildcard = ... # type: int
    FixedString = ... # type: int
    WildcardUnix = ... # type: int
    W3CXmlSchema11 = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, pattern: str, cs: int = ..., syntax: int = ...) -> None: ...
    @overload
    def __init__(self, rx: QRegExp) -> None: ...

    def __hash__(self) -> int: ...
    def swap(self, other: QRegExp) -> None: ...
    def captureCount(self) -> int: ...
    @staticmethod
    def escape(str: str) -> str: ...
    def errorString(self) -> str: ...
    def pos(self, nth: int = ...) -> int: ...
    def cap(self, nth: int = ...) -> str: ...
    def capturedTexts(self) -> typing.List[str]: ...
    def matchedLength(self) -> int: ...
    def lastIndexIn(self, str: str, offset: int = ..., caretMode: int = ...) -> int: ...
    def indexIn(self, str: str, offset: int = ..., caretMode: int = ...) -> int: ...
    def exactMatch(self, str: str) -> bool: ...
    def setMinimal(self, minimal: bool) -> None: ...
    def isMinimal(self) -> bool: ...
    def setPatternSyntax(self, syntax: int) -> None: ...
    def patternSyntax(self) -> int: ...
    def setCaseSensitivity(self, cs: int) -> None: ...
    def caseSensitivity(self) -> int: ...
    def setPattern(self, pattern: str) -> None: ...
    def pattern(self) -> str: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def __repr__(self) -> str: ...


class QRegularExpression(sip.simplewrapper):

    MatchOption: typing.Type[int]
    #class MatchOption(int): ...
    NoMatchOption = ... # type: int
    AnchoredMatchOption = ... # type: int
    DontCheckSubjectStringMatchOption = ... # type: int

    MatchType: typing.Type[int]
    #class MatchType(int): ...
    NormalMatch = ... # type: int
    PartialPreferCompleteMatch = ... # type: int
    PartialPreferFirstMatch = ... # type: int
    NoMatch = ... # type: int

    PatternOption: typing.Type[int]
    #class PatternOption(int): ...
    NoPatternOption = ... # type: int
    CaseInsensitiveOption = ... # type: int
    DotMatchesEverythingOption = ... # type: int
    MultilineOption = ... # type: int
    ExtendedPatternSyntaxOption = ... # type: int
    InvertedGreedinessOption = ... # type: int
    DontCaptureOption = ... # type: int
    UseUnicodePropertiesOption = ... # type: int
    OptimizeOnFirstUsageOption = ... # type: int
    DontAutomaticallyOptimizeOption = ... # type: int

    PatternOptions: typing.Type[int]
    #class PatternOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QRegularExpression.PatternOptions, QRegularExpression.PatternOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QRegularExpression.PatternOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QRegularExpression.PatternOptions: ...
        #def __int__(self) -> int: ...

    MatchOptions: typing.Type[int]
    #class MatchOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QRegularExpression.MatchOptions, QRegularExpression.MatchOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QRegularExpression.MatchOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QRegularExpression.MatchOptions: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, pattern: str, options: typing.Union[int, int] = ...) -> None: ...
    @overload
    def __init__(self, re: QRegularExpression) -> None: ...

    @staticmethod
    def anchoredPattern(expression: str) -> str: ...
    @staticmethod
    def wildcardToRegularExpression(str: str) -> str: ...
    def __hash__(self) -> int: ...
    def optimize(self) -> None: ...
    def namedCaptureGroups(self) -> typing.List[str]: ...
    @staticmethod
    def escape(str: str) -> str: ...
    def globalMatch(self, subject: str, offset: int = ..., matchType: int = ..., matchOptions: typing.Union[int, int] = ...) -> QRegularExpressionMatchIterator: ...
    def match(self, subject: str, offset: int = ..., matchType: int = ..., matchOptions: typing.Union[int, int] = ...) -> QRegularExpressionMatch: ...
    def captureCount(self) -> int: ...
    def errorString(self) -> str: ...
    def patternErrorOffset(self) -> int: ...
    def isValid(self) -> bool: ...
    def setPattern(self, pattern: str) -> None: ...
    def pattern(self) -> str: ...
    def swap(self, re: QRegularExpression) -> None: ...
    def __repr__(self) -> str: ...
    def setPatternOptions(self, options: typing.Union[int, int]) -> None: ...
    def patternOptions(self) -> int: ...


class QRegularExpressionMatch(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, match: QRegularExpressionMatch) -> None: ...

    @overload
    def capturedEnd(self, nth: int = ...) -> int: ...
    @overload
    def capturedEnd(self, name: str) -> int: ...
    @overload
    def capturedLength(self, nth: int = ...) -> int: ...
    @overload
    def capturedLength(self, name: str) -> int: ...
    @overload
    def capturedStart(self, nth: int = ...) -> int: ...
    @overload
    def capturedStart(self, name: str) -> int: ...
    def capturedTexts(self) -> typing.List[str]: ...
    @overload
    def captured(self, nth: int = ...) -> str: ...
    @overload
    def captured(self, name: str) -> str: ...
    def lastCapturedIndex(self) -> int: ...
    def isValid(self) -> bool: ...
    def hasPartialMatch(self) -> bool: ...
    def hasMatch(self) -> bool: ...
    def matchOptions(self) -> int: ...
    def matchType(self) -> int: ...
    def regularExpression(self) -> QRegularExpression: ...
    def swap(self, match: QRegularExpressionMatch) -> None: ...


class QRegularExpressionMatchIterator(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, iterator: QRegularExpressionMatchIterator) -> None: ...

    def matchOptions(self) -> int: ...
    def matchType(self) -> int: ...
    def regularExpression(self) -> QRegularExpression: ...
    def peekNext(self) -> QRegularExpressionMatch: ...
    def next(self) -> QRegularExpressionMatch: ...
    def hasNext(self) -> bool: ...
    def isValid(self) -> bool: ...
    def swap(self, iterator: QRegularExpressionMatchIterator) -> None: ...


class QResource(sip.simplewrapper):

    def __init__(self, fileName: str = ..., locale: QLocale = ...) -> None: ...

    def lastModified(self) -> QDateTime: ...
    def isFile(self) -> bool: ...
    def isDir(self) -> bool: ...
    def children(self) -> typing.List[str]: ...
    @staticmethod
    def unregisterResourceData(rccData: bytes, mapRoot: str = ...) -> bool: ...
    @staticmethod
    def unregisterResource(rccFileName: str, mapRoot: str = ...) -> bool: ...
    @staticmethod
    def registerResourceData(rccData: bytes, mapRoot: str = ...) -> bool: ...
    @staticmethod
    def registerResource(rccFileName: str, mapRoot: str = ...) -> bool: ...
    def size(self) -> int: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def setFileName(self, file: str) -> None: ...
    def locale(self) -> QLocale: ...
    def isValid(self) -> bool: ...
    def isCompressed(self) -> bool: ...
    def fileName(self) -> str: ...
    def data(self) -> bytes: ...
    def absoluteFilePath(self) -> str: ...


class QRunnable(sip.wrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QRunnable) -> None: ...

    def setAutoDelete(self, _autoDelete: bool) -> None: ...
    def autoDelete(self) -> bool: ...
    def run(self) -> None: ...


class QSaveFile(QFileDevice):

    @overload
    def __init__(self, name: str, **props) -> None: ...
    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, name: str, parent: QObject, **props) -> None: ...

    def writeData(self, data: bytes) -> int: ...
    def directWriteFallback(self) -> bool: ...
    def setDirectWriteFallback(self, enabled: bool) -> None: ...
    def cancelWriting(self) -> None: ...
    def commit(self) -> bool: ...
    def open(self, flags: typing.Union[int, int]) -> bool: ...
    def setFileName(self, name: str) -> None: ...
    def fileName(self) -> str: ...


class QSemaphore(sip.simplewrapper):

    def __init__(self, n: int = ...) -> None: ...

    def available(self) -> int: ...
    def release(self, n: int = ...) -> None: ...
    @overload
    def tryAcquire(self, n: int = ...) -> bool: ...
    @overload
    def tryAcquire(self, n: int, timeout: int) -> bool: ...
    def acquire(self, n: int = ...) -> None: ...


class QSemaphoreReleaser(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, sem: QSemaphore, n: int = ...) -> None: ...

    def cancel(self) -> QSemaphore: ...
    def semaphore(self) -> QSemaphore: ...
    def swap(self, other: QSemaphoreReleaser) -> None: ...


class QSequentialAnimationGroup(QAnimationGroup):

    currentAnimationChanged: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def updateDirection(self, direction: int) -> None: ...
    def updateState(self, newState: int, oldState: int) -> None: ...
    def updateCurrentTime(self, a0: int) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    #def currentAnimationChanged(self, current: QAbstractAnimation) -> None: ...
    def duration(self) -> int: ...
    def currentAnimation(self) -> QAbstractAnimation: ...
    def insertPause(self, index: int, msecs: int) -> QPauseAnimation: ...
    def addPause(self, msecs: int) -> QPauseAnimation: ...


class QSettings(QObject):

    class Scope(int):
        UserScope = ... # type: QSettings.Scope
        SystemScope = ... # type: QSettings.Scope

    class Format(int):
        NativeFormat = ... # type: QSettings.Format
        IniFormat = ... # type: QSettings.Format
        InvalidFormat = ... # type: QSettings.Format

    class Status(int):
        NoError = ... # type: QSettings.Status
        AccessError = ... # type: QSettings.Status
        FormatError = ... # type: QSettings.Status

    @overload
    def __init__(self, organization: str, application: str = ..., parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, scope: int, organization: str, application: str = ..., parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, format: int, scope: int, organization: str, application: str = ..., parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, fileName: str, format: int, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def event(self, event: QEvent) -> bool: ...
    def setAtomicSyncRequired(self, enable: bool) -> None: ...
    def isAtomicSyncRequired(self) -> bool: ...
    def iniCodec(self) -> QTextCodec: ...
    @overload
    def setIniCodec(self, codec: QTextCodec) -> None: ...
    @overload
    def setIniCodec(self, codecName: str) -> None: ...
    @staticmethod
    def defaultFormat() -> int: ...
    @staticmethod
    def setDefaultFormat(format: int) -> None: ...
    def applicationName(self) -> str: ...
    def organizationName(self) -> str: ...
    def scope(self) -> int: ...
    def format(self) -> int: ...
    @staticmethod
    def setPath(format: int, scope: int, path: str) -> None: ...
    def fileName(self) -> str: ...
    def fallbacksEnabled(self) -> bool: ...
    def setFallbacksEnabled(self, b: bool) -> None: ...
    def contains(self, key: str) -> bool: ...
    def remove(self, key: str) -> None: ...
    def value(self, key: str, defaultValue: typing.Any = ..., type: type = ...) -> typing.Any: ...
    def setValue(self, key: str, value: typing.Any) -> None: ...
    def isWritable(self) -> bool: ...
    def childGroups(self) -> typing.List[str]: ...
    def childKeys(self) -> typing.List[str]: ...
    def allKeys(self) -> typing.List[str]: ...
    def setArrayIndex(self, i: int) -> None: ...
    def endArray(self) -> None: ...
    def beginWriteArray(self, prefix: str, size: int = ...) -> None: ...
    def beginReadArray(self, prefix: str) -> int: ...
    def group(self) -> str: ...
    def endGroup(self) -> None: ...
    def beginGroup(self, prefix: str) -> None: ...
    def status(self) -> int: ...
    def sync(self) -> None: ...
    def clear(self) -> None: ...


class QSharedMemory(QObject):

    SharedMemoryError: typing.Type[int]
    #class SharedMemoryError(int): ...
    NoError = ... # type: int
    PermissionDenied = ... # type: int
    InvalidSize = ... # type: int
    KeyError = ... # type: int
    AlreadyExists = ... # type: int
    NotFound = ... # type: int
    LockError = ... # type: int
    OutOfResources = ... # type: int
    UnknownError = ... # type: int

    AccessMode: typing.Type[int]
    #class AccessMode(int): ...
    ReadOnly = ... # type: int
    ReadWrite = ... # type: int

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, key: str, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def nativeKey(self) -> str: ...
    def setNativeKey(self, key: str) -> None: ...
    def errorString(self) -> str: ...
    def error(self) -> int: ...
    def unlock(self) -> bool: ...
    def lock(self) -> bool: ...
    def constData(self) -> sip.voidptr: ...
    def data(self) -> sip.voidptr: ...
    def detach(self) -> bool: ...
    def isAttached(self) -> bool: ...
    def attach(self, mode: int = ...) -> bool: ...
    def size(self) -> int: ...
    def create(self, size: int, mode: int = ...) -> bool: ...
    def key(self) -> str: ...
    def setKey(self, key: str) -> None: ...


class QSignalMapper(QObject):

    mapped: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    @overload
    def map(self) -> None: ...
    @overload
    def map(self, sender: QObject) -> None: ...
    #@overload
    #def mapped(self, a0: int) -> None: ...
    #@overload
    #def mapped(self, a0: str) -> None: ...
    #@overload
    #def mapped(self, a0: QWidget) -> None: ...
    #@overload
    #def mapped(self, a0: QObject) -> None: ...
    @overload
    def mapping(self, id: int) -> QObject: ...
    @overload
    def mapping(self, text: str) -> QObject: ...
    @overload
    def mapping(self, widget: QWidget) -> QObject: ...
    @overload
    def mapping(self, object: QObject) -> QObject: ...
    def removeMappings(self, sender: QObject) -> None: ...
    @overload
    def setMapping(self, sender: QObject, id: int) -> None: ...
    @overload
    def setMapping(self, sender: QObject, text: str) -> None: ...
    @overload
    def setMapping(self, sender: QObject, widget: QWidget) -> None: ...
    @overload
    def setMapping(self, sender: QObject, object: QObject) -> None: ...


class QSignalTransition(QAbstractTransition):

    senderObjectChanged: PYQT_SIGNAL
    signalChanged: PYQT_SIGNAL

    @overload
    def __init__(self, sourceState: typing.Optional[QState] = ..., **props) -> None: ...
    @overload
    def __init__(self, signal: pyqtBoundSignal, sourceState: typing.Optional[QState] = ..., **props) -> None: ...

    #def signalChanged(self) -> None: ...
    #def senderObjectChanged(self) -> None: ...
    def event(self, e: QEvent) -> bool: ...
    def onTransition(self, event: QEvent) -> None: ...
    def eventTest(self, event: QEvent) -> bool: ...
    def setSignal(self, signal: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    def signal(self) -> QByteArray: ...
    def setSenderObject(self, sender: QObject) -> None: ...
    def senderObject(self) -> QObject: ...


class QSize(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, w: int, h: int) -> None: ...
    @overload
    def __init__(self, a0: QSize) -> None: ...

    def transposed(self) -> QSize: ...
    @overload
    def scaled(self, s: QSize, mode: int) -> QSize: ...
    @overload
    def scaled(self, w: int, h: int, mode: int) -> QSize: ...
    def boundedTo(self, otherSize: QSize) -> QSize: ...
    def expandedTo(self, otherSize: QSize) -> QSize: ...
    def setHeight(self, h: int) -> None: ...
    def setWidth(self, w: int) -> None: ...
    def height(self) -> int: ...
    def width(self) -> int: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    @overload
    def scale(self, s: QSize, mode: int) -> None: ...
    @overload
    def scale(self, w: int, h: int, mode: int) -> None: ...
    def transpose(self) -> None: ...

    def __add__(self, other: QSize) -> QSize: ...
    def __sub__(self, other: QSize) -> QSize: ...
    def __mul__(self, other: typing.Union[int, float]) -> QSize: ...
    def __truediv__(self, other: typing.Union[int, float]) -> QSize: ...


class QSizeF(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, sz: QSize) -> None: ...
    @overload
    def __init__(self, w: float, h: float) -> None: ...
    @overload
    def __init__(self, a0: QSizeF) -> None: ...

    def transposed(self) -> QSizeF: ...
    @overload
    def scaled(self, s: QSizeF, mode: int) -> QSizeF: ...
    @overload
    def scaled(self, w: float, h: float, mode: int) -> QSizeF: ...
    def toSize(self) -> QSize: ...
    def boundedTo(self, otherSize: QSizeF) -> QSizeF: ...
    def expandedTo(self, otherSize: QSizeF) -> QSizeF: ...
    def setHeight(self, h: float) -> None: ...
    def setWidth(self, w: float) -> None: ...
    def height(self) -> float: ...
    def width(self) -> float: ...
    def __bool__(self) -> int: ...
    def isValid(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def isNull(self) -> bool: ...
    def __repr__(self) -> str: ...
    @overload
    def scale(self, s: QSizeF, mode: int) -> None: ...
    @overload
    def scale(self, w: float, h: float, mode: int) -> None: ...
    def transpose(self) -> None: ...

    def __add__(self, other: QSizeF) -> QSizeF: ...
    def __sub__(self, other: QSizeF) -> QSizeF: ...
    def __mul__(self, other: typing.Union[int, float]) -> QSizeF: ...
    def __truediv__(self, other: typing.Union[int, float]) -> QSizeF: ...


class QSocketNotifier(QObject):

    activated: PYQT_SIGNAL

    class Type(int):
        Read = ... # type: QSocketNotifier.Type
        Write = ... # type: QSocketNotifier.Type
        Exception = ... # type: QSocketNotifier.Type

    def __init__(self, socket: int, a1: int, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def event(self, a0: QEvent) -> bool: ...
    #def activated(self, socket: int) -> None: ...
    def setEnabled(self, a0: bool) -> None: ...
    def isEnabled(self) -> bool: ...
    def type(self) -> int: ...
    def socket(self) -> int: ...


class QSortFilterProxyModel(QAbstractProxyModel):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def invalidateFilter(self) -> None: ...
    def setRecursiveFilteringEnabled(self, recursive: bool) -> None: ...
    def isRecursiveFilteringEnabled(self) -> bool: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def setSortLocaleAware(self, on: bool) -> None: ...
    def isSortLocaleAware(self) -> bool: ...
    def supportedDropActions(self) -> int: ...
    def mimeTypes(self) -> typing.List[str]: ...
    def setFilterRole(self, role: int) -> None: ...
    def filterRole(self) -> int: ...
    def sortOrder(self) -> int: ...
    def sortColumn(self) -> int: ...
    def setSortRole(self, role: int) -> None: ...
    def sortRole(self) -> int: ...
    def setDynamicSortFilter(self, enable: bool) -> None: ...
    def dynamicSortFilter(self) -> bool: ...
    def setSortCaseSensitivity(self, cs: int) -> None: ...
    def sortCaseSensitivity(self) -> int: ...
    def sort(self, column: int, order: int = ...) -> None: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: typing.Union[int, int] = ...) -> typing.List[QModelIndex]: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def flags(self, index: QModelIndex) -> int: ...
    def canFetchMore(self, parent: QModelIndex) -> bool: ...
    def fetchMore(self, parent: QModelIndex) -> None: ...
    def removeColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertColumns(self, column: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def dropMimeData(self, data: QMimeData, action: int, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: typing.Iterable[QModelIndex]) -> QMimeData: ...
    def setHeaderData(self, section: int, orientation: int, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: int, role: int = ...) -> typing.Any: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int = ...) -> typing.Any: ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def columnCount(self, parent: QModelIndex = ...) -> int: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...
    @overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @overload
    def parent(self) -> QObject: ...
    def index(self, row: int, column: int, parent: QModelIndex = ...) -> QModelIndex: ...
    def lessThan(self, left: QModelIndex, right: QModelIndex) -> bool: ...
    def filterAcceptsColumn(self, source_column: int, source_parent: QModelIndex) -> bool: ...
    def filterAcceptsRow(self, source_row: int, source_parent: QModelIndex) -> bool: ...
    def setFilterWildcard(self, pattern: str) -> None: ...
    @overload
    def setFilterRegularExpression(self, regularExpression: QRegularExpression) -> None: ...
    @overload
    def setFilterRegularExpression(self, pattern: str) -> None: ...
    @overload
    def setFilterRegExp(self, regExp: QRegExp) -> None: ...
    @overload
    def setFilterRegExp(self, pattern: str) -> None: ...
    def setFilterFixedString(self, pattern: str) -> None: ...
    def invalidate(self) -> None: ...
    def setFilterCaseSensitivity(self, cs: int) -> None: ...
    def filterCaseSensitivity(self) -> int: ...
    def setFilterKeyColumn(self, column: int) -> None: ...
    def filterKeyColumn(self) -> int: ...
    def filterRegularExpression(self) -> QRegularExpression: ...
    def filterRegExp(self) -> QRegExp: ...
    def mapSelectionFromSource(self, sourceSelection: QItemSelection) -> QItemSelection: ...
    def mapSelectionToSource(self, proxySelection: QItemSelection) -> QItemSelection: ...
    def mapFromSource(self, sourceIndex: QModelIndex) -> QModelIndex: ...
    def mapToSource(self, proxyIndex: QModelIndex) -> QModelIndex: ...
    def setSourceModel(self, sourceModel: QAbstractItemModel) -> None: ...


class QStandardPaths(sip.simplewrapper):

    LocateOption: typing.Type[int]
    #class LocateOption(int): ...
    LocateFile = ... # type: int
    LocateDirectory = ... # type: int

    StandardLocation: typing.Type[int]
    #class StandardLocation(int): ...
    DesktopLocation = ... # type: int
    DocumentsLocation = ... # type: int
    FontsLocation = ... # type: int
    ApplicationsLocation = ... # type: int
    MusicLocation = ... # type: int
    MoviesLocation = ... # type: int
    PicturesLocation = ... # type: int
    TempLocation = ... # type: int
    HomeLocation = ... # type: int
    DataLocation = ... # type: int
    CacheLocation = ... # type: int
    GenericDataLocation = ... # type: int
    RuntimeLocation = ... # type: int
    ConfigLocation = ... # type: int
    DownloadLocation = ... # type: int
    GenericCacheLocation = ... # type: int
    GenericConfigLocation = ... # type: int
    AppDataLocation = ... # type: int
    AppLocalDataLocation = ... # type: int
    AppConfigLocation = ... # type: int

    LocateOptions: typing.Type[int]
    #class LocateOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QStandardPaths.LocateOptions, QStandardPaths.LocateOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QStandardPaths.LocateOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QStandardPaths.LocateOptions: ...
        #def __int__(self) -> int: ...

    def __init__(self, a0: QStandardPaths) -> None: ...

    @staticmethod
    def setTestModeEnabled(testMode: bool) -> None: ...
    @staticmethod
    def enableTestMode(testMode: bool) -> None: ...
    @staticmethod
    def findExecutable(executableName: str, paths: typing.Iterable[str] = ...) -> str: ...
    @staticmethod
    def displayName(type: int) -> str: ...
    @staticmethod
    def locateAll(type: int, fileName: str, options: int = ...) -> typing.List[str]: ...
    @staticmethod
    def locate(type: int, fileName: str, options: int = ...) -> str: ...
    @staticmethod
    def standardLocations(type: int) -> typing.List[str]: ...
    @staticmethod
    def writableLocation(type: int) -> str: ...


class QState(QAbstractState):

    childModeChanged: PYQT_SIGNAL
    errorStateChanged: PYQT_SIGNAL
    finished: PYQT_SIGNAL
    initialStateChanged: PYQT_SIGNAL
    propertiesAssigned: PYQT_SIGNAL

    RestorePolicy: typing.Type[int]
    #class RestorePolicy(int): ...
    DontRestoreProperties = ... # type: int
    RestoreProperties = ... # type: int

    ChildMode: typing.Type[int]
    #class ChildMode(int): ...
    ExclusiveStates = ... # type: int
    ParallelStates = ... # type: int

    @overload
    def __init__(self, parent: typing.Optional[QState] = ..., **props) -> None: ...
    @overload
    def __init__(self, childMode: int, parent: typing.Optional[QState] = ..., **props) -> None: ...

    #def errorStateChanged(self) -> None: ...
    #def initialStateChanged(self) -> None: ...
    #def childModeChanged(self) -> None: ...
    def event(self, e: QEvent) -> bool: ...
    def onExit(self, event: QEvent) -> None: ...
    def onEntry(self, event: QEvent) -> None: ...
    #def propertiesAssigned(self) -> None: ...
    #def finished(self) -> None: ...
    def assignProperty(self, object: QObject, name: str, value: typing.Any) -> None: ...
    def setChildMode(self, mode: int) -> None: ...
    def childMode(self) -> int: ...
    def setInitialState(self, state: QAbstractState) -> None: ...
    def initialState(self) -> QAbstractState: ...
    def transitions(self) -> typing.List[QAbstractTransition]: ...
    def removeTransition(self, transition: QAbstractTransition) -> None: ...
    @overload
    def addTransition(self, transition: QAbstractTransition) -> None: ...
    @overload
    def addTransition(self, signal: pyqtBoundSignal, target: QAbstractState) -> QSignalTransition: ...
    @overload
    def addTransition(self, target: QAbstractState) -> QAbstractTransition: ...
    def setErrorState(self, state: QAbstractState) -> None: ...
    def errorState(self) -> QAbstractState: ...


class QStateMachine(QState):

    runningChanged: PYQT_SIGNAL
    started: PYQT_SIGNAL
    stopped: PYQT_SIGNAL

    Error: typing.Type[int]
    #class Error(int): ...
    NoError = ... # type: int
    NoInitialStateError = ... # type: int
    NoDefaultStateInHistoryStateError = ... # type: int
    NoCommonAncestorForTransitionError = ... # type: int

    EventPriority: typing.Type[int]
    #class EventPriority(int): ...
    NormalPriority = ... # type: int
    HighPriority = ... # type: int

    class SignalEvent(QEvent):

        def arguments(self) -> typing.List[typing.Any]: ...
        def signalIndex(self) -> int: ...
        def sender(self) -> QObject: ...

    class WrappedEvent(QEvent):

        def event(self) -> QEvent: ...
        def object(self) -> QObject: ...

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, childMode: int, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def event(self, e: QEvent) -> bool: ...
    def onExit(self, event: QEvent) -> None: ...
    def onEntry(self, event: QEvent) -> None: ...
    #def runningChanged(self, running: bool) -> None: ...
    #def stopped(self) -> None: ...
    #def started(self) -> None: ...
    def setRunning(self, running: bool) -> None: ...
    def stop(self) -> None: ...
    def start(self) -> None: ...
    def eventFilter(self, watched: QObject, event: QEvent) -> bool: ...
    def configuration(self) -> typing.Set[QAbstractState]: ...
    def cancelDelayedEvent(self, id: int) -> bool: ...
    def postDelayedEvent(self, event: QEvent, delay: int) -> int: ...
    def postEvent(self, event: QEvent, priority: int = ...) -> None: ...
    def setGlobalRestorePolicy(self, restorePolicy: int) -> None: ...
    def globalRestorePolicy(self) -> int: ...
    def removeDefaultAnimation(self, animation: QAbstractAnimation) -> None: ...
    def defaultAnimations(self) -> typing.List[QAbstractAnimation]: ...
    def addDefaultAnimation(self, animation: QAbstractAnimation) -> None: ...
    def setAnimated(self, enabled: bool) -> None: ...
    def isAnimated(self) -> bool: ...
    def isRunning(self) -> bool: ...
    def clearError(self) -> None: ...
    def errorString(self) -> str: ...
    def error(self) -> int: ...
    def removeState(self, state: QAbstractState) -> None: ...
    def addState(self, state: QAbstractState) -> None: ...


class QStorageInfo(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, path: str) -> None: ...
    @overload
    def __init__(self, dir: QDir) -> None: ...
    @overload
    def __init__(self, other: QStorageInfo) -> None: ...

    def subvolume(self) -> QByteArray: ...
    def blockSize(self) -> int: ...
    def isRoot(self) -> bool: ...
    @staticmethod
    def root() -> QStorageInfo: ...
    @staticmethod
    def mountedVolumes() -> typing.List[QStorageInfo]: ...
    def refresh(self) -> None: ...
    def isValid(self) -> bool: ...
    def isReady(self) -> bool: ...
    def isReadOnly(self) -> bool: ...
    def bytesAvailable(self) -> int: ...
    def bytesFree(self) -> int: ...
    def bytesTotal(self) -> int: ...
    def displayName(self) -> str: ...
    def name(self) -> str: ...
    def fileSystemType(self) -> QByteArray: ...
    def device(self) -> QByteArray: ...
    def rootPath(self) -> str: ...
    def setPath(self, path: str) -> None: ...
    def swap(self, other: QStorageInfo) -> None: ...


class QStringListModel(QAbstractListModel):

    @overload
    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...
    @overload
    def __init__(self, strings: typing.Iterable[str], parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def supportedDropActions(self) -> int: ...
    def sort(self, column: int, order: int = ...) -> None: ...
    def setStringList(self, strings: typing.Iterable[str]) -> None: ...
    def stringList(self) -> typing.List[str]: ...
    def removeRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def insertRows(self, row: int, count: int, parent: QModelIndex = ...) -> bool: ...
    def flags(self, index: QModelIndex) -> int: ...
    def setData(self, index: QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
    def data(self, index: QModelIndex, role: int) -> typing.Any: ...
    def rowCount(self, parent: QModelIndex = ...) -> int: ...


class QSystemSemaphore(sip.simplewrapper):

    SystemSemaphoreError: typing.Type[int]
    #class SystemSemaphoreError(int): ...
    NoError = ... # type: int
    PermissionDenied = ... # type: int
    KeyError = ... # type: int
    AlreadyExists = ... # type: int
    NotFound = ... # type: int
    OutOfResources = ... # type: int
    UnknownError = ... # type: int

    AccessMode: typing.Type[int]
    #class AccessMode(int): ...
    Open = ... # type: int
    Create = ... # type: int

    def __init__(self, key: str, initialValue: int = ..., mode: int = ...) -> None: ...

    def errorString(self) -> str: ...
    def error(self) -> int: ...
    def release(self, n: int = ...) -> bool: ...
    def acquire(self) -> bool: ...
    def key(self) -> str: ...
    def setKey(self, key: str, initialValue: int = ..., mode: int = ...) -> None: ...


class QTemporaryDir(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, templateName: str) -> None: ...

    def filePath(self, fileName: str) -> str: ...
    def errorString(self) -> str: ...
    def path(self) -> str: ...
    def remove(self) -> bool: ...
    def setAutoRemove(self, b: bool) -> None: ...
    def autoRemove(self) -> bool: ...
    def isValid(self) -> bool: ...


class QTemporaryFile(QFile):

    @overload
    def __init__(self, **props) -> None: ...
    @overload
    def __init__(self, templateName: str, **props) -> None: ...
    @overload
    def __init__(self, parent: QObject, **props) -> None: ...
    @overload
    def __init__(self, templateName: str, parent: QObject, **props) -> None: ...

    def rename(self, newName: str) -> bool: ...
    @overload
    @staticmethod
    def createNativeFile(fileName: str) -> QTemporaryFile: ...
    @overload
    @staticmethod
    def createNativeFile(file: QFile) -> QTemporaryFile: ...
    def setFileTemplate(self, name: str) -> None: ...
    def fileTemplate(self) -> str: ...
    def fileName(self) -> str: ...
    @overload
    def open(self) -> bool: ...
    @overload
    def open(self, flags: typing.Union[int, int]) -> bool: ...
    def setAutoRemove(self, b: bool) -> None: ...
    def autoRemove(self) -> bool: ...


class QTextBoundaryFinder(sip.simplewrapper):

    BoundaryType: typing.Type[int]
    #class BoundaryType(int): ...
    Grapheme = ... # type: int
    Word = ... # type: int
    Line = ... # type: int
    Sentence = ... # type: int

    BoundaryReason: typing.Type[int]
    #class BoundaryReason(int): ...
    NotAtBoundary = ... # type: int
    SoftHyphen = ... # type: int
    BreakOpportunity = ... # type: int
    StartOfItem = ... # type: int
    EndOfItem = ... # type: int
    MandatoryBreak = ... # type: int

    BoundaryReasons: typing.Type[int]
    #class BoundaryReasons(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QTextBoundaryFinder.BoundaryReasons, QTextBoundaryFinder.BoundaryReason]) -> None: ...
        #@overload
        #def __init__(self, a0: QTextBoundaryFinder.BoundaryReasons) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QTextBoundaryFinder.BoundaryReasons: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, other: QTextBoundaryFinder) -> None: ...
    @overload
    def __init__(self, type: int, string: str) -> None: ...

    def boundaryReasons(self) -> int: ...
    def isAtBoundary(self) -> bool: ...
    def toPreviousBoundary(self) -> int: ...
    def toNextBoundary(self) -> int: ...
    def setPosition(self, position: int) -> None: ...
    def position(self) -> int: ...
    def toEnd(self) -> None: ...
    def toStart(self) -> None: ...
    def string(self) -> str: ...
    def type(self) -> int: ...
    def isValid(self) -> bool: ...


class QTextCodec(sip.wrapper):

    ConversionFlag: typing.Type[int]
    #class ConversionFlag(int): ...
    DefaultConversion = ... # type: int
    ConvertInvalidToNull = ... # type: int
    IgnoreHeader = ... # type: int

    ConversionFlags: typing.Type[int]
    #class ConversionFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QTextCodec.ConversionFlags, QTextCodec.ConversionFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QTextCodec.ConversionFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QTextCodec.ConversionFlags: ...
        #def __int__(self) -> int: ...

    class ConverterState:

        def __init__(self, flags: typing.Union[int, int] = ...) -> None: ...

    def __init__(self) -> None: ...

    def convertToUnicode(self, in_: bytes, state: QTextCodec.ConverterState) -> str: ...
    def mibEnum(self) -> int: ...
    def aliases(self) -> typing.List[QByteArray]: ...
    def name(self) -> QByteArray: ...
    def fromUnicode(self, uc: str) -> QByteArray: ...
    @overload
    def toUnicode(self, a0: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    @overload
    def toUnicode(self, chars: str) -> str: ...
    @overload
    def toUnicode(self, in_: bytes, state: typing.Optional[QTextCodec.ConverterState] = ...) -> str: ...
    def canEncode(self, a0: str) -> bool: ...
    def makeEncoder(self, flags: typing.Union[int, int] = ...) -> QTextEncoder: ...
    def makeDecoder(self, flags: typing.Union[int, int] = ...) -> QTextDecoder: ...
    @staticmethod
    def setCodecForLocale(c: QTextCodec) -> None: ...
    @staticmethod
    def codecForLocale() -> QTextCodec: ...
    @staticmethod
    def availableMibs() -> typing.List[int]: ...
    @staticmethod
    def availableCodecs() -> typing.List[QByteArray]: ...
    @overload
    @staticmethod
    def codecForUtfText(ba: typing.Union[QByteArray, bytes, bytearray]) -> QTextCodec: ...
    @overload
    @staticmethod
    def codecForUtfText(ba: typing.Union[QByteArray, bytes, bytearray], defaultCodec: QTextCodec) -> QTextCodec: ...
    @overload
    @staticmethod
    def codecForHtml(ba: typing.Union[QByteArray, bytes, bytearray]) -> QTextCodec: ...
    @overload
    @staticmethod
    def codecForHtml(ba: typing.Union[QByteArray, bytes, bytearray], defaultCodec: QTextCodec) -> QTextCodec: ...
    @staticmethod
    def codecForMib(mib: int) -> QTextCodec: ...
    @overload
    @staticmethod
    def codecForName(name: typing.Union[QByteArray, bytes, bytearray]) -> QTextCodec: ...
    @overload
    @staticmethod
    def codecForName(name: str) -> QTextCodec: ...


class QTextEncoder(sip.wrapper):

    @overload
    def __init__(self, codec: QTextCodec) -> None: ...
    @overload
    def __init__(self, codec: QTextCodec, flags: typing.Union[int, int]) -> None: ...

    def fromUnicode(self, str: str) -> QByteArray: ...


class QTextDecoder(sip.wrapper):

    @overload
    def __init__(self, codec: QTextCodec) -> None: ...
    @overload
    def __init__(self, codec: QTextCodec, flags: typing.Union[int, int]) -> None: ...

    @overload
    def toUnicode(self, chars: bytes) -> str: ...
    @overload
    def toUnicode(self, ba: typing.Union[QByteArray, bytes, bytearray]) -> str: ...


class QTextStream(sip.simplewrapper):

    Status: typing.Type[int]
    #class Status(int): ...
    Ok = ... # type: int
    ReadPastEnd = ... # type: int
    ReadCorruptData = ... # type: int
    WriteFailed = ... # type: int

    NumberFlag: typing.Type[int]
    #class NumberFlag(int): ...
    ShowBase = ... # type: int
    ForcePoint = ... # type: int
    ForceSign = ... # type: int
    UppercaseBase = ... # type: int
    UppercaseDigits = ... # type: int

    FieldAlignment: typing.Type[int]
    #class FieldAlignment(int): ...
    AlignLeft = ... # type: int
    AlignRight = ... # type: int
    AlignCenter = ... # type: int
    AlignAccountingStyle = ... # type: int

    RealNumberNotation: typing.Type[int]
    #class RealNumberNotation(int): ...
    SmartNotation = ... # type: int
    FixedNotation = ... # type: int
    ScientificNotation = ... # type: int

    NumberFlags: typing.Type[int]
    #class NumberFlags(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QTextStream.NumberFlags, QTextStream.NumberFlag]) -> None: ...
        #@overload
        #def __init__(self, a0: QTextStream.NumberFlags) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QTextStream.NumberFlags: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, device: QIODevice) -> None: ...
    @overload
    def __init__(self, array: QByteArray, mode: typing.Union[int, int] = ...) -> None: ...

    def locale(self) -> QLocale: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def pos(self) -> int: ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: int) -> None: ...
    def status(self) -> int: ...
    def realNumberPrecision(self) -> int: ...
    def setRealNumberPrecision(self, precision: int) -> None: ...
    def realNumberNotation(self) -> int: ...
    def setRealNumberNotation(self, notation: int) -> None: ...
    def integerBase(self) -> int: ...
    def setIntegerBase(self, base: int) -> None: ...
    def numberFlags(self) -> int: ...
    def setNumberFlags(self, flags: typing.Union[int, int]) -> None: ...
    def fieldWidth(self) -> int: ...
    def setFieldWidth(self, width: int) -> None: ...
    def padChar(self) -> str: ...
    def setPadChar(self, ch: str) -> None: ...
    def fieldAlignment(self) -> int: ...
    def setFieldAlignment(self, alignment: int) -> None: ...
    def readAll(self) -> str: ...
    def readLine(self, maxLength: int = ...) -> str: ...
    def read(self, maxlen: int) -> str: ...
    def skipWhiteSpace(self) -> None: ...
    def seek(self, pos: int) -> bool: ...
    def flush(self) -> None: ...
    def reset(self) -> None: ...
    def atEnd(self) -> bool: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...
    def generateByteOrderMark(self) -> bool: ...
    def setGenerateByteOrderMark(self, generate: bool) -> None: ...
    def autoDetectUnicode(self) -> bool: ...
    def setAutoDetectUnicode(self, enabled: bool) -> None: ...
    def codec(self) -> QTextCodec: ...
    @overload
    def setCodec(self, codec: QTextCodec) -> None: ...
    @overload
    def setCodec(self, codecName: str) -> None: ...


class QTextStreamManipulator(sip.simplewrapper): ...


class QThread(QObject):

    finished: PYQT_SIGNAL
    started: PYQT_SIGNAL

    Priority: typing.Type[int]
    #class Priority(int): ...
    IdlePriority = ... # type: int
    LowestPriority = ... # type: int
    LowPriority = ... # type: int
    NormalPriority = ... # type: int
    HighPriority = ... # type: int
    HighestPriority = ... # type: int
    TimeCriticalPriority = ... # type: int
    InheritPriority = ... # type: int

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def loopLevel(self) -> int: ...
    def isInterruptionRequested(self) -> bool: ...
    def requestInterruption(self) -> None: ...
    def setEventDispatcher(self, eventDispatcher: QAbstractEventDispatcher) -> None: ...
    def eventDispatcher(self) -> QAbstractEventDispatcher: ...
    @staticmethod
    def usleep(a0: int) -> None: ...
    @staticmethod
    def msleep(a0: int) -> None: ...
    @staticmethod
    def sleep(a0: int) -> None: ...
    def event(self, event: QEvent) -> bool: ...
    @staticmethod
    def setTerminationEnabled(enabled: bool = ...) -> None: ...
    def exec(self) -> int: ...
    def exec_(self) -> int: ...
    def run(self) -> None: ...
    #def finished(self) -> None: ...
    #def started(self) -> None: ...
    def wait(self, msecs: int = ...) -> bool: ...
    def quit(self) -> None: ...
    def terminate(self) -> None: ...
    def start(self, priority: int = ...) -> None: ...
    def exit(self, returnCode: int = ...) -> None: ...
    def stackSize(self) -> int: ...
    def setStackSize(self, stackSize: int) -> None: ...
    def priority(self) -> int: ...
    def setPriority(self, priority: int) -> None: ...
    def isRunning(self) -> bool: ...
    def isFinished(self) -> bool: ...
    @staticmethod
    def yieldCurrentThread() -> None: ...
    @staticmethod
    def idealThreadCount() -> int: ...
    @staticmethod
    def currentThreadId() -> sip.voidptr: ...
    @staticmethod
    def currentThread() -> QThread: ...


class QThreadPool(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def stackSize(self) -> int: ...
    def setStackSize(self, stackSize: int) -> None: ...
    def cancel(self, runnable: QRunnable) -> None: ...
    def clear(self) -> None: ...
    def waitForDone(self, msecs: int = ...) -> bool: ...
    def releaseThread(self) -> None: ...
    def reserveThread(self) -> None: ...
    def activeThreadCount(self) -> int: ...
    def setMaxThreadCount(self, maxThreadCount: int) -> None: ...
    def maxThreadCount(self) -> int: ...
    def setExpiryTimeout(self, expiryTimeout: int) -> None: ...
    def expiryTimeout(self) -> int: ...
    def tryTake(self, runnable: QRunnable) -> bool: ...
    def tryStart(self, runnable: QRunnable) -> bool: ...
    def start(self, runnable: QRunnable, priority: int = ...) -> None: ...
    @staticmethod
    def globalInstance() -> QThreadPool: ...


class QTimeLine(QObject):

    finished: PYQT_SIGNAL
    frameChanged: PYQT_SIGNAL
    stateChanged: PYQT_SIGNAL
    valueChanged: PYQT_SIGNAL

    State: typing.Type[int]
    #class State(int): ...
    NotRunning = ... # type: int
    Paused = ... # type: int
    Running = ... # type: int

    Direction: typing.Type[int]
    #class Direction(int): ...
    Forward = ... # type: int
    Backward = ... # type: int

    CurveShape: typing.Type[int]
    #class CurveShape(int): ...
    EaseInCurve = ... # type: int
    EaseOutCurve = ... # type: int
    EaseInOutCurve = ... # type: int
    LinearCurve = ... # type: int
    SineCurve = ... # type: int
    CosineCurve = ... # type: int

    def __init__(self, duration: int = ..., parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def setEasingCurve(self, curve: typing.Union[QEasingCurve, int]) -> None: ...
    def easingCurve(self) -> QEasingCurve: ...
    def timerEvent(self, event: QTimerEvent) -> None: ...
    #def valueChanged(self, x: float) -> None: ...
    #def stateChanged(self, newState: int) -> None: ...
    #def frameChanged(self, a0: int) -> None: ...
    #def finished(self) -> None: ...
    def toggleDirection(self) -> None: ...
    def stop(self) -> None: ...
    def start(self) -> None: ...
    def setPaused(self, paused: bool) -> None: ...
    def setCurrentTime(self, msec: int) -> None: ...
    def resume(self) -> None: ...
    def valueForTime(self, msec: int) -> float: ...
    def frameForTime(self, msec: int) -> int: ...
    def currentValue(self) -> float: ...
    def currentFrame(self) -> int: ...
    def currentTime(self) -> int: ...
    def setCurveShape(self, shape: int) -> None: ...
    def curveShape(self) -> int: ...
    def setUpdateInterval(self, interval: int) -> None: ...
    def updateInterval(self) -> int: ...
    def setFrameRange(self, startFrame: int, endFrame: int) -> None: ...
    def setEndFrame(self, frame: int) -> None: ...
    def endFrame(self) -> int: ...
    def setStartFrame(self, frame: int) -> None: ...
    def startFrame(self) -> int: ...
    def setDuration(self, duration: int) -> None: ...
    def duration(self) -> int: ...
    def setDirection(self, direction: int) -> None: ...
    def direction(self) -> int: ...
    def setLoopCount(self, count: int) -> None: ...
    def loopCount(self) -> int: ...
    def state(self) -> int: ...


class QTimer(QObject):

    timeout: PYQT_SIGNAL

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def remainingTime(self) -> int: ...
    def timerType(self) -> int: ...
    def setTimerType(self, atype: int) -> None: ...
    def timerEvent(self, a0: QTimerEvent) -> None: ...
    #def timeout(self) -> None: ...
    def stop(self) -> None: ...
    @overload
    def start(self, msec: int) -> None: ...
    @overload
    def start(self) -> None: ...
    @overload
    @staticmethod
    def singleShot(msec: int, slot: PYQT_SLOT) -> None: ...
    @overload
    @staticmethod
    def singleShot(msec: int, timerType: int, slot: PYQT_SLOT) -> None: ...
    def setSingleShot(self, asingleShot: bool) -> None: ...
    def isSingleShot(self) -> bool: ...
    def interval(self) -> int: ...
    def setInterval(self, msec: int) -> None: ...
    def timerId(self) -> int: ...
    def isActive(self) -> bool: ...


class QTimeZone(sip.simplewrapper):

    NameType: typing.Type[int]
    #class NameType(int): ...
    DefaultName = ... # type: int
    LongName = ... # type: int
    ShortName = ... # type: int
    OffsetName = ... # type: int

    TimeType: typing.Type[int]
    #class TimeType(int): ...
    StandardTime = ... # type: int
    DaylightTime = ... # type: int
    GenericTime = ... # type: int

    class OffsetData:

        abbreviation = ... # type: str
        atUtc = ... # type: typing.Union[QDateTime, datetime.datetime]
        daylightTimeOffset = ... # type: int
        offsetFromUtc = ... # type: int
        standardTimeOffset = ... # type: int

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, a0: QTimeZone.OffsetData) -> None: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, ianaId: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, offsetSeconds: int) -> None: ...
    @overload
    def __init__(self, zoneId: typing.Union[QByteArray, bytes, bytearray], offsetSeconds: int, name: str, abbreviation: str, country: int = ..., comment: str = ...) -> None: ...
    @overload
    def __init__(self, other: QTimeZone) -> None: ...

    @staticmethod
    def utc() -> QTimeZone: ...
    @staticmethod
    def systemTimeZone() -> QTimeZone: ...
    @overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray]) -> typing.List[QByteArray]: ...
    @overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray], country: int) -> typing.List[QByteArray]: ...
    @overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray], country: int) -> QByteArray: ...
    @staticmethod
    def ianaIdToWindowsId(ianaId: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @overload
    @staticmethod
    def availableTimeZoneIds() -> typing.List[QByteArray]: ...
    @overload
    @staticmethod
    def availableTimeZoneIds(country: int) -> typing.List[QByteArray]: ...
    @overload
    @staticmethod
    def availableTimeZoneIds(offsetSeconds: int) -> typing.List[QByteArray]: ...
    @staticmethod
    def isTimeZoneIdAvailable(ianaId: typing.Union[QByteArray, bytes, bytearray]) -> bool: ...
    @staticmethod
    def systemTimeZoneId() -> QByteArray: ...
    def transitions(self, fromDateTime: typing.Union[QDateTime, datetime.datetime], toDateTime: typing.Union[QDateTime, datetime.datetime]) -> typing.List[QTimeZone.OffsetData]: ...
    def previousTransition(self, beforeDateTime: typing.Union[QDateTime, datetime.datetime]) -> QTimeZone.OffsetData: ...
    def nextTransition(self, afterDateTime: typing.Union[QDateTime, datetime.datetime]) -> QTimeZone.OffsetData: ...
    def hasTransitions(self) -> bool: ...
    def offsetData(self, forDateTime: typing.Union[QDateTime, datetime.datetime]) -> QTimeZone.OffsetData: ...
    def isDaylightTime(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> bool: ...
    def hasDaylightTime(self) -> bool: ...
    def daylightTimeOffset(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def standardTimeOffset(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def offsetFromUtc(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> int: ...
    def abbreviation(self, atDateTime: typing.Union[QDateTime, datetime.datetime]) -> str: ...
    @overload
    def displayName(self, atDateTime: typing.Union[QDateTime, datetime.datetime], nameType: int = ..., locale: QLocale = ...) -> str: ...
    @overload
    def displayName(self, timeType: int, nameType: int = ..., locale: QLocale = ...) -> str: ...
    def comment(self) -> str: ...
    def country(self) -> int: ...
    def id(self) -> QByteArray: ...
    def isValid(self) -> bool: ...
    def swap(self, other: QTimeZone) -> None: ...


class QTranslator(QObject):

    def __init__(self, parent: typing.Optional[QObject] = ..., **props) -> None: ...

    def loadFromData(self, data: bytes, directory: str = ...) -> bool: ...
    @overload
    def load(self, fileName: str, directory: str = ..., searchDelimiters: str = ..., suffix: str = ...) -> bool: ...
    @overload
    def load(self, locale: QLocale, fileName: str, prefix: str = ..., directory: str = ..., suffix: str = ...) -> bool: ...
    def isEmpty(self) -> bool: ...
    def translate(self, context: str, sourceText: str, disambiguation: typing.Optional[str] = ..., n: int = ...) -> str: ...


class QUrl(sip.simplewrapper):

    UserInputResolutionOption: typing.Type[int]
    #class UserInputResolutionOption(int): ...
    DefaultResolution = ... # type: int
    AssumeLocalFile = ... # type: int

    ComponentFormattingOption: typing.Type[int]
    #class ComponentFormattingOption(int): ...
    PrettyDecoded = ... # type: int
    EncodeSpaces = ... # type: int
    EncodeUnicode = ... # type: int
    EncodeDelimiters = ... # type: int
    EncodeReserved = ... # type: int
    DecodeReserved = ... # type: int
    FullyEncoded = ... # type: int
    FullyDecoded = ... # type: int

    UrlFormattingOption: typing.Type[int]
    #class UrlFormattingOption(int): ...
    None_ = ... # type: int
    RemoveScheme = ... # type: int
    RemovePassword = ... # type: int
    RemoveUserInfo = ... # type: int
    RemovePort = ... # type: int
    RemoveAuthority = ... # type: int
    RemovePath = ... # type: int
    RemoveQuery = ... # type: int
    RemoveFragment = ... # type: int
    PreferLocalFile = ... # type: int
    StripTrailingSlash = ... # type: int
    RemoveFilename = ... # type: int
    NormalizePathSegments = ... # type: int

    ParsingMode: typing.Type[int]
    #class ParsingMode(int): ...
    TolerantMode = ... # type: int
    StrictMode = ... # type: int
    DecodedMode = ... # type: int

    class FormattingOptions:

        def __init__(self, a0: QUrl.FormattingOptions) -> None: ...


    ComponentFormattingOptions: typing.Type[int]
    #class ComponentFormattingOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QUrl.ComponentFormattingOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QUrl.ComponentFormattingOptions: ...
        #def __int__(self) -> int: ...

    UserInputResolutionOptions: typing.Type[int]
    #class UserInputResolutionOptions(sip.simplewrapper):

        #@overload
        #def __init__(self) -> None: ...
        #@overload
        #def __init__(self, f: typing.Union[QUrl.UserInputResolutionOptions, QUrl.UserInputResolutionOption]) -> None: ...
        #@overload
        #def __init__(self, a0: QUrl.UserInputResolutionOptions) -> None: ...

        #def __hash__(self) -> int: ...
        #def __bool__(self) -> int: ...
        #def __invert__(self) -> QUrl.UserInputResolutionOptions: ...
        #def __int__(self) -> int: ...

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, url: str, mode: int = ...) -> None: ...
    @overload
    def __init__(self, copy: QUrl) -> None: ...

    def matches(self, url: QUrl, options: QUrl.FormattingOptions) -> bool: ...
    def fileName(self, options: typing.Union[int, int] = ...) -> str: ...
    def adjusted(self, options: QUrl.FormattingOptions) -> QUrl: ...
    @staticmethod
    def fromStringList(uris: typing.Iterable[str], mode: int = ...) -> typing.List[QUrl]: ...
    @staticmethod
    def toStringList(uris: typing.Iterable[QUrl], options: QUrl.FormattingOptions = ...) -> typing.List[str]: ...
    def query(self, options: typing.Union[int, int] = ...) -> str: ...
    @overload
    def setQuery(self, query: str, mode: int = ...) -> None: ...
    @overload
    def setQuery(self, query: QUrlQuery) -> None: ...
    def toDisplayString(self, options: QUrl.FormattingOptions = ...) -> str: ...
    def isLocalFile(self) -> bool: ...
    def topLevelDomain(self, options: typing.Union[int, int] = ...) -> str: ...
    def swap(self, other: QUrl) -> None: ...
    @overload
    @staticmethod
    def fromUserInput(userInput: str) -> QUrl: ...
    @overload
    @staticmethod
    def fromUserInput(userInput: str, workingDirectory: str, options: typing.Union[int, int] = ...) -> QUrl: ...
    @staticmethod
    def setIdnWhitelist(a0: typing.Iterable[str]) -> None: ...
    @staticmethod
    def idnWhitelist() -> typing.List[str]: ...
    @staticmethod
    def toAce(a0: str) -> QByteArray: ...
    @staticmethod
    def fromAce(a0: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    def errorString(self) -> str: ...
    def hasFragment(self) -> bool: ...
    def hasQuery(self) -> bool: ...
    @staticmethod
    def toPercentEncoding(input: str, exclude: typing.Union[QByteArray, bytes, bytearray] = ..., include: typing.Union[QByteArray, bytes, bytearray] = ...) -> QByteArray: ...
    @staticmethod
    def fromPercentEncoding(a0: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    def isDetached(self) -> bool: ...
    def detach(self) -> None: ...
    @staticmethod
    def fromEncoded(u: typing.Union[QByteArray, bytes, bytearray], mode: int = ...) -> QUrl: ...
    def toEncoded(self, options: QUrl.FormattingOptions = ...) -> QByteArray: ...
    def toString(self, options: QUrl.FormattingOptions = ...) -> str: ...
    def toLocalFile(self) -> str: ...
    @staticmethod
    def fromLocalFile(localfile: str) -> QUrl: ...
    def isParentOf(self, url: QUrl) -> bool: ...
    def isRelative(self) -> bool: ...
    def resolved(self, relative: QUrl) -> QUrl: ...
    def fragment(self, options: typing.Union[int, int] = ...) -> str: ...
    def setFragment(self, fragment: str, mode: int = ...) -> None: ...
    def path(self, options: typing.Union[int, int] = ...) -> str: ...
    def setPath(self, path: str, mode: int = ...) -> None: ...
    def port(self, defaultPort: int = ...) -> int: ...
    def setPort(self, port: int) -> None: ...
    def host(self, a0: typing.Union[int, int] = ...) -> str: ...
    def setHost(self, host: str, mode: int = ...) -> None: ...
    def password(self, options: typing.Union[int, int] = ...) -> str: ...
    def setPassword(self, password: str, mode: int = ...) -> None: ...
    def userName(self, options: typing.Union[int, int] = ...) -> str: ...
    def setUserName(self, userName: str, mode: int = ...) -> None: ...
    def userInfo(self, options: typing.Union[int, int] = ...) -> str: ...
    def setUserInfo(self, userInfo: str, mode: int = ...) -> None: ...
    def authority(self, options: typing.Union[int, int] = ...) -> str: ...
    def setAuthority(self, authority: str, mode: int = ...) -> None: ...
    def scheme(self) -> str: ...
    def setScheme(self, scheme: str) -> None: ...
    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...
    def isValid(self) -> bool: ...
    def setUrl(self, url: str, mode: int = ...) -> None: ...
    def url(self, options: QUrl.FormattingOptions = ...) -> str: ...
    def __repr__(self) -> str: ...
    def __hash__(self) -> int: ...


class QUrlQuery(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, url: QUrl) -> None: ...
    @overload
    def __init__(self, queryString: str) -> None: ...
    @overload
    def __init__(self, other: QUrlQuery) -> None: ...

    def __hash__(self) -> int: ...
    @staticmethod
    def defaultQueryPairDelimiter() -> str: ...
    @staticmethod
    def defaultQueryValueDelimiter() -> str: ...
    def removeAllQueryItems(self, key: str) -> None: ...
    def allQueryItemValues(self, key: str, options: typing.Union[int, int] = ...) -> typing.List[str]: ...
    def queryItemValue(self, key: str, options: typing.Union[int, int] = ...) -> str: ...
    def removeQueryItem(self, key: str) -> None: ...
    def addQueryItem(self, key: str, value: str) -> None: ...
    def hasQueryItem(self, key: str) -> bool: ...
    def queryItems(self, options: typing.Union[int, int] = ...) -> typing.List[typing.Tuple[str, str]]: ...
    def setQueryItems(self, query: typing.Iterable[typing.Tuple[str, str]]) -> None: ...
    def queryPairDelimiter(self) -> str: ...
    def queryValueDelimiter(self) -> str: ...
    def setQueryDelimiters(self, valueDelimiter: str, pairDelimiter: str) -> None: ...
    def toString(self, options: typing.Union[int, int] = ...) -> str: ...
    def setQuery(self, queryString: str) -> None: ...
    def query(self, options: typing.Union[int, int] = ...) -> str: ...
    def clear(self) -> None: ...
    def isDetached(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def swap(self, other: QUrlQuery) -> None: ...


class QUuid(sip.simplewrapper):

    StringFormat: typing.Type[int]
    #class StringFormat(int): ...
    WithBraces = ... # type: int
    WithoutBraces = ... # type: int
    Id128 = ... # type: int

    Version: typing.Type[int]
    #class Version(int): ...
    VerUnknown = ... # type: int
    Time = ... # type: int
    EmbeddedPOSIX = ... # type: int
    Md5 = ... # type: int
    Name = ... # type: int
    Random = ... # type: int
    Sha1 = ... # type: int

    Variant: typing.Type[int]
    #class Variant(int): ...
    VarUnknown = ... # type: int
    NCS = ... # type: int
    DCE = ... # type: int
    Microsoft = ... # type: int
    Reserved = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, l: int, w1: int, w2: int, b1: int, b2: int, b3: int, b4: int, b5: int, b6: int, b7: int, b8: int) -> None: ...
    @overload
    def __init__(self, a0: str) -> None: ...
    @overload
    def __init__(self, a0: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, a0: QUuid) -> None: ...

    @staticmethod
    def fromRfc4122(a0: typing.Union[QByteArray, bytes, bytearray]) -> QUuid: ...
    def toRfc4122(self) -> QByteArray: ...
    @overload
    def toByteArray(self) -> QByteArray: ...
    @overload
    def toByteArray(self, mode: int) -> QByteArray: ...
    def version(self) -> int: ...
    def variant(self) -> int: ...
    @overload
    @staticmethod
    def createUuidV5(ns: QUuid, baseData: typing.Union[QByteArray, bytes, bytearray]) -> QUuid: ...
    @overload
    @staticmethod
    def createUuidV5(ns: QUuid, baseData: str) -> QUuid: ...
    @overload
    @staticmethod
    def createUuidV3(ns: QUuid, baseData: typing.Union[QByteArray, bytes, bytearray]) -> QUuid: ...
    @overload
    @staticmethod
    def createUuidV3(ns: QUuid, baseData: str) -> QUuid: ...
    @staticmethod
    def createUuid() -> QUuid: ...
    def isNull(self) -> bool: ...
    @overload
    def toString(self) -> str: ...
    @overload
    def toString(self, mode: int) -> str: ...
    def __repr__(self) -> str: ...
    def __hash__(self) -> int: ...


class QVariant(sip.simplewrapper):

    Type: typing.Type[int]
    #class Type(int): ...
    Invalid = ... # type: int
    Bool = ... # type: int
    Int = ... # type: int
    UInt = ... # type: int
    LongLong = ... # type: int
    ULongLong = ... # type: int
    Double = ... # type: int
    Char = ... # type: int
    Map = ... # type: int
    List = ... # type: int
    String = ... # type: int
    StringList = ... # type: int
    ByteArray = ... # type: int
    BitArray = ... # type: int
    Date = ... # type: int
    Time = ... # type: int
    DateTime = ... # type: int
    Url = ... # type: int
    Locale = ... # type: int
    Rect = ... # type: int
    RectF = ... # type: int
    Size = ... # type: int
    SizeF = ... # type: int
    Line = ... # type: int
    LineF = ... # type: int
    Point = ... # type: int
    PointF = ... # type: int
    RegExp = ... # type: int
    Font = ... # type: int
    Pixmap = ... # type: int
    Brush = ... # type: int
    Color = ... # type: int
    Palette = ... # type: int
    Icon = ... # type: int
    Image = ... # type: int
    Polygon = ... # type: int
    Region = ... # type: int
    Bitmap = ... # type: int
    Cursor = ... # type: int
    SizePolicy = ... # type: int
    KeySequence = ... # type: int
    Pen = ... # type: int
    TextLength = ... # type: int
    TextFormat = ... # type: int
    Matrix = ... # type: int
    Transform = ... # type: int
    Hash = ... # type: int
    Matrix4x4 = ... # type: int
    Vector2D = ... # type: int
    Vector3D = ... # type: int
    Vector4D = ... # type: int
    Quaternion = ... # type: int
    EasingCurve = ... # type: int
    Uuid = ... # type: int
    ModelIndex = ... # type: int
    PolygonF = ... # type: int
    RegularExpression = ... # type: int
    PersistentModelIndex = ... # type: int
    UserType = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, type: int) -> None: ...
    @overload
    def __init__(self, obj: typing.Any) -> None: ...
    @overload
    def __init__(self, a0: QVariant) -> None: ...

    def swap(self, other: QVariant) -> None: ...
    @staticmethod
    def nameToType(name: str) -> int: ...
    @staticmethod
    def typeToName(typeId: int) -> str: ...
    def save(self, ds: QDataStream) -> None: ...
    def load(self, ds: QDataStream) -> None: ...
    def clear(self) -> None: ...
    def isNull(self) -> bool: ...
    def isValid(self) -> bool: ...
    def convert(self, targetTypeId: int) -> bool: ...
    def canConvert(self, targetTypeId: int) -> bool: ...
    def typeName(self) -> str: ...
    def userType(self) -> int: ...
    def type(self) -> int: ...
    def value(self) -> typing.Any: ...


class QVersionNumber(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, seg: typing.Iterable[int]) -> None: ...
    @overload
    def __init__(self, maj: int) -> None: ...
    @overload
    def __init__(self, maj: int, min: int) -> None: ...
    @overload
    def __init__(self, maj: int, min: int, mic: int) -> None: ...
    @overload
    def __init__(self, a0: QVersionNumber) -> None: ...

    def __hash__(self) -> int: ...
    @staticmethod
    def fromString(string: str) -> typing.Tuple[QVersionNumber, int]: ...
    def toString(self) -> str: ...
    @staticmethod
    def commonPrefix(v1: QVersionNumber, v2: QVersionNumber) -> QVersionNumber: ...
    @staticmethod
    def compare(v1: QVersionNumber, v2: QVersionNumber) -> int: ...
    def isPrefixOf(self, other: QVersionNumber) -> bool: ...
    def segmentCount(self) -> int: ...
    def segmentAt(self, index: int) -> int: ...
    def segments(self) -> typing.List[int]: ...
    def normalized(self) -> QVersionNumber: ...
    def microVersion(self) -> int: ...
    def minorVersion(self) -> int: ...
    def majorVersion(self) -> int: ...
    def isNormalized(self) -> bool: ...
    def isNull(self) -> bool: ...


class QWaitCondition(sip.simplewrapper):

    def __init__(self) -> None: ...

    def wakeAll(self) -> None: ...
    def wakeOne(self) -> None: ...
    @overload
    def wait(self, mutex: QMutex, msecs: int = ...) -> bool: ...
    @overload
    def wait(self, readWriteLock: QReadWriteLock, msecs: int = ...) -> bool: ...
    @overload
    def wait(self, lockedMutex: QMutex, deadline: QDeadlineTimer) -> bool: ...
    @overload
    def wait(self, lockedReadWriteLock: QReadWriteLock, deadline: QDeadlineTimer) -> bool: ...


class QXmlStreamAttribute(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, qualifiedName: str, value: str) -> None: ...
    @overload
    def __init__(self, namespaceUri: str, name: str, value: str) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamAttribute) -> None: ...

    def isDefault(self) -> bool: ...
    def value(self) -> str: ...
    def prefix(self) -> str: ...
    def qualifiedName(self) -> str: ...
    def name(self) -> str: ...
    def namespaceUri(self) -> str: ...


class QXmlStreamAttributes(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamAttributes) -> None: ...

    def __contains__(self, value: QXmlStreamAttribute) -> int: ...
    @overload
    def __delitem__(self, i: int) -> None: ...
    @overload
    def __delitem__(self, slice: slice) -> None: ...
    @overload
    def __setitem__(self, i: int, value: QXmlStreamAttribute) -> None: ...
    @overload
    def __setitem__(self, slice: slice, list: QXmlStreamAttributes) -> None: ...
    @overload
    def __getitem__(self, i: int) -> QXmlStreamAttribute: ...
    @overload
    def __getitem__(self, slice: slice) -> QXmlStreamAttributes: ...
    def size(self) -> int: ...
    def replace(self, i: int, value: QXmlStreamAttribute) -> None: ...
    @overload
    def remove(self, i: int) -> None: ...
    @overload
    def remove(self, i: int, count: int) -> None: ...
    def prepend(self, value: QXmlStreamAttribute) -> None: ...
    def lastIndexOf(self, value: QXmlStreamAttribute, from_: int = ...) -> int: ...
    def last(self) -> QXmlStreamAttribute: ...
    def isEmpty(self) -> bool: ...
    def insert(self, i: int, value: QXmlStreamAttribute) -> None: ...
    def indexOf(self, value: QXmlStreamAttribute, from_: int = ...) -> int: ...
    def first(self) -> QXmlStreamAttribute: ...
    def fill(self, value: QXmlStreamAttribute, size: int = ...) -> None: ...
    def data(self) -> sip.voidptr: ...
    def __len__(self) -> int: ...
    @overload
    def count(self, value: QXmlStreamAttribute) -> int: ...
    @overload
    def count(self) -> int: ...
    def contains(self, value: QXmlStreamAttribute) -> bool: ...
    def clear(self) -> None: ...
    def at(self, i: int) -> QXmlStreamAttribute: ...
    @overload
    def hasAttribute(self, qualifiedName: str) -> bool: ...
    @overload
    def hasAttribute(self, namespaceUri: str, name: str) -> bool: ...
    @overload
    def append(self, namespaceUri: str, name: str, value: str) -> None: ...
    @overload
    def append(self, qualifiedName: str, value: str) -> None: ...
    @overload
    def append(self, attribute: QXmlStreamAttribute) -> None: ...
    @overload
    def value(self, namespaceUri: str, name: str) -> str: ...
    @overload
    def value(self, qualifiedName: str) -> str: ...


class QXmlStreamNamespaceDeclaration(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamNamespaceDeclaration) -> None: ...
    @overload
    def __init__(self, prefix: str, namespaceUri: str) -> None: ...

    def namespaceUri(self) -> str: ...
    def prefix(self) -> str: ...


class QXmlStreamNotationDeclaration(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamNotationDeclaration) -> None: ...

    def publicId(self) -> str: ...
    def systemId(self) -> str: ...
    def name(self) -> str: ...


class QXmlStreamEntityDeclaration(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamEntityDeclaration) -> None: ...

    def value(self) -> str: ...
    def publicId(self) -> str: ...
    def systemId(self) -> str: ...
    def notationName(self) -> str: ...
    def name(self) -> str: ...


class QXmlStreamEntityResolver(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QXmlStreamEntityResolver) -> None: ...

    def resolveUndeclaredEntity(self, name: str) -> str: ...


class QXmlStreamReader(sip.simplewrapper):

    class Error(int):
        NoError = ... # type: QXmlStreamReader.Error
        UnexpectedElementError = ... # type: QXmlStreamReader.Error
        CustomError = ... # type: QXmlStreamReader.Error
        NotWellFormedError = ... # type: QXmlStreamReader.Error
        PrematureEndOfDocumentError = ... # type: QXmlStreamReader.Error

    class ReadElementTextBehaviour(int):
        ErrorOnUnexpectedElement = ... # type: QXmlStreamReader.ReadElementTextBehaviour
        IncludeChildElements = ... # type: QXmlStreamReader.ReadElementTextBehaviour
        SkipChildElements = ... # type: QXmlStreamReader.ReadElementTextBehaviour

    class TokenType(int):
        NoToken = ... # type: QXmlStreamReader.TokenType
        Invalid = ... # type: QXmlStreamReader.TokenType
        StartDocument = ... # type: QXmlStreamReader.TokenType
        EndDocument = ... # type: QXmlStreamReader.TokenType
        StartElement = ... # type: QXmlStreamReader.TokenType
        EndElement = ... # type: QXmlStreamReader.TokenType
        Characters = ... # type: QXmlStreamReader.TokenType
        Comment = ... # type: QXmlStreamReader.TokenType
        DTD = ... # type: QXmlStreamReader.TokenType
        EntityReference = ... # type: QXmlStreamReader.TokenType
        ProcessingInstruction = ... # type: QXmlStreamReader.TokenType

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, device: QIODevice) -> None: ...
    @overload
    def __init__(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def __init__(self, data: str) -> None: ...

    def skipCurrentElement(self) -> None: ...
    def readNextStartElement(self) -> bool: ...
    def entityResolver(self) -> QXmlStreamEntityResolver: ...
    def setEntityResolver(self, resolver: QXmlStreamEntityResolver) -> None: ...
    def hasError(self) -> bool: ...
    def error(self) -> int: ...
    def errorString(self) -> str: ...
    def raiseError(self, message: str = ...) -> None: ...
    def dtdSystemId(self) -> str: ...
    def dtdPublicId(self) -> str: ...
    def dtdName(self) -> str: ...
    def entityDeclarations(self) -> typing.List[QXmlStreamEntityDeclaration]: ...
    def notationDeclarations(self) -> typing.List[QXmlStreamNotationDeclaration]: ...
    def addExtraNamespaceDeclarations(self, extraNamespaceDeclaractions: typing.Iterable[QXmlStreamNamespaceDeclaration]) -> None: ...
    def addExtraNamespaceDeclaration(self, extraNamespaceDeclaraction: QXmlStreamNamespaceDeclaration) -> None: ...
    def namespaceDeclarations(self) -> typing.List[QXmlStreamNamespaceDeclaration]: ...
    def text(self) -> str: ...
    def processingInstructionData(self) -> str: ...
    def processingInstructionTarget(self) -> str: ...
    def prefix(self) -> str: ...
    def qualifiedName(self) -> str: ...
    def namespaceUri(self) -> str: ...
    def name(self) -> str: ...
    def readElementText(self, behaviour: int = ...) -> str: ...
    def attributes(self) -> QXmlStreamAttributes: ...
    def characterOffset(self) -> int: ...
    def columnNumber(self) -> int: ...
    def lineNumber(self) -> int: ...
    def documentEncoding(self) -> str: ...
    def documentVersion(self) -> str: ...
    def isStandaloneDocument(self) -> bool: ...
    def isProcessingInstruction(self) -> bool: ...
    def isEntityReference(self) -> bool: ...
    def isDTD(self) -> bool: ...
    def isComment(self) -> bool: ...
    def isCDATA(self) -> bool: ...
    def isWhitespace(self) -> bool: ...
    def isCharacters(self) -> bool: ...
    def isEndElement(self) -> bool: ...
    def isStartElement(self) -> bool: ...
    def isEndDocument(self) -> bool: ...
    def isStartDocument(self) -> bool: ...
    def namespaceProcessing(self) -> bool: ...
    def setNamespaceProcessing(self, a0: bool) -> None: ...
    def tokenString(self) -> str: ...
    def tokenType(self) -> int: ...
    def readNext(self) -> int: ...
    def atEnd(self) -> bool: ...
    def clear(self) -> None: ...
    @overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @overload
    def addData(self, data: str) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QXmlStreamWriter(sip.simplewrapper):

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, device: QIODevice) -> None: ...
    @overload
    def __init__(self, array: typing.Union[QByteArray, bytes, bytearray]) -> None: ...

    def hasError(self) -> bool: ...
    def writeCurrentToken(self, reader: QXmlStreamReader) -> None: ...
    @overload
    def writeStartElement(self, qualifiedName: str) -> None: ...
    @overload
    def writeStartElement(self, namespaceUri: str, name: str) -> None: ...
    @overload
    def writeStartDocument(self) -> None: ...
    @overload
    def writeStartDocument(self, version: str) -> None: ...
    @overload
    def writeStartDocument(self, version: str, standalone: bool) -> None: ...
    def writeProcessingInstruction(self, target: str, data: str = ...) -> None: ...
    def writeDefaultNamespace(self, namespaceUri: str) -> None: ...
    def writeNamespace(self, namespaceUri: str, prefix: str = ...) -> None: ...
    def writeEntityReference(self, name: str) -> None: ...
    def writeEndElement(self) -> None: ...
    def writeEndDocument(self) -> None: ...
    @overload
    def writeTextElement(self, qualifiedName: str, text: str) -> None: ...
    @overload
    def writeTextElement(self, namespaceUri: str, name: str, text: str) -> None: ...
    @overload
    def writeEmptyElement(self, qualifiedName: str) -> None: ...
    @overload
    def writeEmptyElement(self, namespaceUri: str, name: str) -> None: ...
    def writeDTD(self, dtd: str) -> None: ...
    def writeComment(self, text: str) -> None: ...
    def writeCharacters(self, text: str) -> None: ...
    def writeCDATA(self, text: str) -> None: ...
    def writeAttributes(self, attributes: QXmlStreamAttributes) -> None: ...
    @overload
    def writeAttribute(self, qualifiedName: str, value: str) -> None: ...
    @overload
    def writeAttribute(self, namespaceUri: str, name: str, value: str) -> None: ...
    @overload
    def writeAttribute(self, attribute: QXmlStreamAttribute) -> None: ...
    def autoFormattingIndent(self) -> int: ...
    def setAutoFormattingIndent(self, spaces: int) -> None: ...
    def autoFormatting(self) -> bool: ...
    def setAutoFormatting(self, a0: bool) -> None: ...
    def codec(self) -> QTextCodec: ...
    @overload
    def setCodec(self, codec: QTextCodec) -> None: ...
    @overload
    def setCodec(self, codecName: str) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QSysInfo(sip.simplewrapper):

    Endian: typing.Type[int]
    #class Endian(int): ...
    BigEndian = ... # type: int
    LittleEndian = ... # type: int
    ByteOrder = ... # type: int

    Sizes: typing.Type[int]
    #class Sizes(int): ...
    WordSize = ... # type: int

    @overload
    def __init__(self) -> None: ...
    @overload
    def __init__(self, a0: QSysInfo) -> None: ...

    @staticmethod
    def machineHostName() -> str: ...
    @staticmethod
    def productVersion() -> str: ...
    @staticmethod
    def productType() -> str: ...
    @staticmethod
    def prettyProductName() -> str: ...
    @staticmethod
    def kernelVersion() -> str: ...
    @staticmethod
    def kernelType() -> str: ...
    @staticmethod
    def currentCpuArchitecture() -> str: ...
    @staticmethod
    def buildCpuArchitecture() -> str: ...
    @staticmethod
    def buildAbi() -> str: ...


PYQT_VERSION = ... # type: int
PYQT_VERSION_STR = ... # type: str
QT_VERSION = ... # type: int
QT_VERSION_STR = ... # type: str


def qSetRealNumberPrecision(precision: int) -> QTextStreamManipulator: ...
def qSetPadChar(ch: str) -> QTextStreamManipulator: ...
def qSetFieldWidth(width: int) -> QTextStreamManipulator: ...
def ws(s: QTextStream) -> QTextStream: ...
def bom(s: QTextStream) -> QTextStream: ...
def reset(s: QTextStream) -> QTextStream: ...
def flush(s: QTextStream) -> QTextStream: ...
def endl(s: QTextStream) -> QTextStream: ...
def center(s: QTextStream) -> QTextStream: ...
def right(s: QTextStream) -> QTextStream: ...
def left(s: QTextStream) -> QTextStream: ...
def scientific(s: QTextStream) -> QTextStream: ...
def fixed(s: QTextStream) -> QTextStream: ...
def lowercasedigits(s: QTextStream) -> QTextStream: ...
def lowercasebase(s: QTextStream) -> QTextStream: ...
def uppercasedigits(s: QTextStream) -> QTextStream: ...
def uppercasebase(s: QTextStream) -> QTextStream: ...
def noforcepoint(s: QTextStream) -> QTextStream: ...
def noforcesign(s: QTextStream) -> QTextStream: ...
def noshowbase(s: QTextStream) -> QTextStream: ...
def forcepoint(s: QTextStream) -> QTextStream: ...
def forcesign(s: QTextStream) -> QTextStream: ...
def showbase(s: QTextStream) -> QTextStream: ...
def hex_(s: QTextStream) -> QTextStream: ...
def dec(s: QTextStream) -> QTextStream: ...
def oct_(s: QTextStream) -> QTextStream: ...
def bin_(s: QTextStream) -> QTextStream: ...
def Q_RETURN_ARG(type: typing.Any) -> QGenericReturnArgument: ...
def Q_ARG(type: typing.Any, data: typing.Any) -> QGenericArgument: ...
def pyqtSlot(*types, name: typing.Optional[str] = ..., result: typing.Optional[str] = ...) -> typing.Callable[[_TFunc], _TFunc]: ...
def QT_TRANSLATE_NOOP(a0: str, a1: str) -> str: ...
def QT_TR_NOOP_UTF8(a0: str) -> str: ...
def QT_TR_NOOP(a0: str) -> str: ...
def Q_FLAGS(*a0) -> None: ...
def Q_FLAG(a0: typing.Union[type, enum.Enum]) -> None: ...
def Q_ENUMS(*a0) -> None: ...
def Q_ENUM(a0: typing.Union[type, enum.Enum]) -> None: ...
def Q_CLASSINFO(name: str, value: str) -> None: ...
def qFloatDistance(a: float, b: float) -> int: ...
def qQNaN() -> float: ...
def qSNaN() -> float: ...
def qInf() -> float: ...
def qIsNaN(d: float) -> bool: ...
def qIsFinite(d: float) -> bool: ...
def qIsInf(d: float) -> bool: ...
def qFormatLogMessage(type: int, context: QMessageLogContext, buf: str) -> str: ...
def qSetMessagePattern(messagePattern: str) -> None: ...
def qInstallMessageHandler(a0: typing.Optional[typing.Callable[[int, QMessageLogContext, str], None]]) -> typing.Optional[typing.Callable[[int, QMessageLogContext, str], None]]: ...
def qWarning(msg: str) -> None: ...
def qInfo(msg: str) -> None: ...
def qFatal(msg: str) -> None: ...
@overload
def qErrnoWarning(code: int, msg: str) -> None: ...
@overload
def qErrnoWarning(msg: str) -> None: ...
def qDebug(msg: str) -> None: ...
def qCritical(msg: str) -> None: ...
def pyqtRestoreInputHook() -> None: ...
def pyqtRemoveInputHook() -> None: ...
def qAddPreRoutine(routine: typing.Callable[[], None]) -> None: ...
def qRemovePostRoutine(a0: typing.Callable[..., None]) -> None: ...
def qAddPostRoutine(a0: typing.Callable[..., None]) -> None: ...
@overload
def qChecksum(s: bytes) -> int: ...
@overload
def qChecksum(s: bytes, standard: int) -> int: ...
def qUncompress(data: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
def qCompress(data: typing.Union[QByteArray, bytes, bytearray], compressionLevel: int = ...) -> QByteArray: ...
@overload
def qEnvironmentVariable(varName: str) -> str: ...
@overload
def qEnvironmentVariable(varName: str, defaultValue: str) -> str: ...
def pyqtPickleProtocol() -> typing.Optional[int]: ...
def pyqtSetPickleProtocol(a0: typing.Optional[int]) -> None: ...
def qrand() -> int: ...
def qsrand(seed: int) -> None: ...
def qIsNull(d: float) -> bool: ...
def qFuzzyCompare(p1: float, p2: float) -> bool: ...
def qUnregisterResourceData(a0: int, a1: bytes, a2: bytes, a3: bytes) -> bool: ...
def qRegisterResourceData(a0: int, a1: bytes, a2: bytes, a3: bytes) -> bool: ...
def qSharedBuild() -> bool: ...
def qVersion() -> str: ...
def qRound64(d: float) -> int: ...
def qRound(d: float) -> int: ...
def qAbs(t: float) -> float: ...
