# The PEP 484 type hints stub file for the QtCore module.
#
# Generated by SIP 4.18.1
#
# Copyright (c) 2016 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

# Support for QDate, QDateTime and QTime.
import datetime

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

class pyqtBoundSignal:
    def emit(self, *args) -> None: ...

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


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


class Qt(sip.simplewrapper):

    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'

    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'

    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'

    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'

    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'

    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'
    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'

    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'

    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'

    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'
    WindowOkButtonHint = ... # type: 'Qt.WindowType'
    WindowCancelButtonHint = ... # 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'

    class KeyboardModifiers(sip.simplewrapper):

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

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

    class MouseButtons(sip.simplewrapper):

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

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

    class Orientations(sip.simplewrapper):

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

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

    class Alignment(sip.simplewrapper):

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

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

    class WindowFlags(sip.simplewrapper):

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

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

    class WindowStates(sip.simplewrapper):

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

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

    class ImageConversionFlags(sip.simplewrapper):

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

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

    class DockWidgetAreas(sip.simplewrapper):

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

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

    class ToolBarAreas(sip.simplewrapper):

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

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

    class InputMethodQueries(sip.simplewrapper):

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

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

    class DropActions(sip.simplewrapper):

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

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

    class ItemFlags(sip.simplewrapper):

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

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

    class MatchFlags(sip.simplewrapper):

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

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

    class TextInteractionFlags(sip.simplewrapper):

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

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

    class InputMethodHints(sip.simplewrapper):

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

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

    class TouchPointStates(sip.simplewrapper):

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

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

    class GestureFlags(sip.simplewrapper):

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

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

    class ScreenOrientations(sip.simplewrapper):

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

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

    class FindChildOptions(sip.simplewrapper):

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

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

    class ApplicationStates(sip.simplewrapper):

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

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

    class Edges(sip.simplewrapper):

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

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

    class MouseEventFlags(sip.simplewrapper):

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

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


class QObject(sip.wrapper):

    staticMetaObject = ... # type: 'QMetaObject'

    def __init__(self, parent: typing.Optional['QObject'] = ...) -> 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.Any: ...
    def dumpObjectTree(self) -> None: ...
    def dumpObjectInfo(self) -> None: ...
    def removeEventFilter(self, a0: 'QObject') -> None: ...
    def installEventFilter(self, a0: 'QObject') -> None: ...
    def setParent(self, a0: 'QObject') -> None: ...
    def children(self) -> typing.Any: ...
    def killTimer(self, id: int) -> None: ...
    def startTimer(self, interval: int, timerType: Qt.TimerType = ...) -> 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: ...
    @typing.overload
    def findChildren(self, type: type, name: str = ..., options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChildren(self, types: typing.Tuple, name: str = ..., options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChildren(self, type: type, regExp: 'QRegExp', options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChildren(self, types: typing.Tuple, regExp: 'QRegExp', options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChildren(self, type: type, re: 'QRegularExpression', options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChildren(self, types: typing.Tuple, re: 'QRegularExpression', options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> typing.List['QObject']: ...
    @typing.overload
    def findChild(self, type: type, name: str = ..., options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> 'QObject': ...
    @typing.overload
    def findChild(self, types: typing.Tuple, name: str = ..., options: typing.Union[Qt.FindChildOptions, Qt.FindChildOption] = ...) -> '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):

    class DeletionPolicy(int): ...
    KeepWhenStopped = ... # type: 'QAbstractAnimation.DeletionPolicy'
    DeleteWhenStopped = ... # type: 'QAbstractAnimation.DeletionPolicy'

    class State(int): ...
    Stopped = ... # type: 'QAbstractAnimation.State'
    Paused = ... # type: 'QAbstractAnimation.State'
    Running = ... # type: 'QAbstractAnimation.State'

    class Direction(int): ...
    Forward = ... # type: 'QAbstractAnimation.Direction'
    Backward = ... # type: 'QAbstractAnimation.Direction'

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

    def updateDirection(self, direction: 'QAbstractAnimation.Direction') -> None: ...
    def updateState(self, newState: 'QAbstractAnimation.State', oldState: 'QAbstractAnimation.State') -> 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: 'QAbstractAnimation.DeletionPolicy' = ...) -> None: ...
    def directionChanged(self, a0: 'QAbstractAnimation.Direction') -> None: ...
    def currentLoopChanged(self, currentLoop: int) -> None: ...
    def stateChanged(self, newState: 'QAbstractAnimation.State', oldState: 'QAbstractAnimation.State') -> 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: 'QAbstractAnimation.Direction') -> None: ...
    def direction(self) -> 'QAbstractAnimation.Direction': ...
    def group(self) -> 'QAnimationGroup': ...
    def state(self) -> 'QAbstractAnimation.State': ...


class QAbstractEventDispatcher(QObject):

    class TimerInfo(sip.simplewrapper):

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

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

    def __init__(self, parent: typing.Optional[QObject] = ...) -> 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.Any: ...
    def unregisterTimers(self, object: QObject) -> bool: ...
    def unregisterTimer(self, timerId: int) -> bool: ...
    @typing.overload
    def registerTimer(self, interval: int, timerType: Qt.TimerType, object: QObject) -> int: ...
    @typing.overload
    def registerTimer(self, timerId: int, interval: int, timerType: Qt.TimerType, 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['QEventLoop.ProcessEventsFlags', 'QEventLoop.ProcessEventsFlag']) -> bool: ...
    @staticmethod
    def instance(thread: typing.Optional['QThread'] = ...) -> 'QAbstractEventDispatcher': ...


class QModelIndex(sip.simplewrapper):

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

    def __hash__(self) -> int: ...
    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) -> Qt.ItemFlags: ...
    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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, index: QModelIndex) -> None: ...
    @typing.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) -> Qt.ItemFlags: ...
    def data(self, role: int = ...) -> typing.Any: ...
    def column(self) -> int: ...
    def row(self) -> int: ...


class QAbstractItemModel(QObject):

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

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

    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: Qt.DropAction, 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.Any: ...
    def supportedDragActions(self) -> Qt.DropActions: ...
    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.Any, to: typing.Any) -> None: ...
    def changePersistentIndex(self, from_: QModelIndex, to: QModelIndex) -> None: ...
    def persistentIndexList(self) -> typing.Any: ...
    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.Any, 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: 'QAbstractItemModel.LayoutChangeHint' = ...) -> None: ...
    def layoutAboutToBeChanged(self, parents: typing.Any = ..., hint: 'QAbstractItemModel.LayoutChangeHint' = ...) -> None: ...
    def headerDataChanged(self, orientation: Qt.Orientation, 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[Qt.MatchFlags, Qt.MatchFlag] = ...) -> typing.Any: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlags: ...
    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) -> Qt.DropActions: ...
    def dropMimeData(self, data: 'QMimeData', action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: typing.Any) -> '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.Any: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, 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: ...
    @typing.overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @typing.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] = ...) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> QObject: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlags: ...
    def dropMimeData(self, data: 'QMimeData', action: Qt.DropAction, 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] = ...) -> None: ...

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def parent(self) -> QObject: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlags: ...
    def dropMimeData(self, data: 'QMimeData', action: Qt.DropAction, 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):

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

    def supportedDragActions(self) -> Qt.DropActions: ...
    def dropMimeData(self, data: 'QMimeData', action: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def canDropMimeData(self, data: 'QMimeData', action: Qt.DropAction, 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) -> Qt.DropActions: ...
    def mimeTypes(self) -> typing.List[str]: ...
    def mimeData(self, indexes: typing.Any) -> 'QMimeData': ...
    def hasChildren(self, parent: QModelIndex = ...) -> bool: ...
    def span(self, index: QModelIndex) -> 'QSize': ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> 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) -> Qt.ItemFlags: ...
    def itemData(self, index: QModelIndex) -> typing.Dict[int, typing.Any]: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, 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):

    def __init__(self, parent: typing.Optional['QState'] = ...) -> 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):

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

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

    def setTransitionType(self, type: 'QAbstractTransition.TransitionType') -> None: ...
    def transitionType(self) -> 'QAbstractTransition.TransitionType': ...
    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.Any: ...
    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.Any: ...
    def setTargetState(self, target: QAbstractState) -> None: ...
    def targetState(self) -> QAbstractState: ...
    def sourceState(self) -> 'QState': ...


class QAnimationGroup(QAbstractAnimation):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> 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):

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

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


class QBitArray(sip.simplewrapper):

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

    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: ...
    @typing.overload
    def setBit(self, i: int) -> None: ...
    @typing.overload
    def setBit(self, i: int, val: bool) -> None: ...
    def testBit(self, i: int) -> bool: ...
    def truncate(self, pos: int) -> None: ...
    @typing.overload
    def fill(self, val: bool, first: int, last: int) -> None: ...
    @typing.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: ...
    @typing.overload
    def count(self) -> int: ...
    @typing.overload
    def count(self, on: bool) -> int: ...
    def size(self) -> int: ...


class QIODevice(QObject):

    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'

    class OpenMode(sip.simplewrapper):

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

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

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

    def setErrorString(self, errorString: str) -> None: ...
    def setOpenMode(self, openMode: typing.Union['QIODevice.OpenMode', 'QIODevice.OpenModeFlag']) -> 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['QIODevice.OpenMode', 'QIODevice.OpenModeFlag']) -> 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) -> 'QIODevice.OpenMode': ...


class QBuffer(QIODevice):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, byteArray: typing.Union['QByteArray', bytes, bytearray], parent: typing.Optional[QObject] = ...) -> 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[QIODevice.OpenMode, QIODevice.OpenModeFlag]) -> bool: ...
    @typing.overload
    def setData(self, data: typing.Union['QByteArray', bytes, bytearray]) -> None: ...
    @typing.overload
    def setData(self, adata: bytes) -> None: ...
    def setBuffer(self, a: typing.Union['QByteArray', bytes, bytearray]) -> None: ...
    def data(self) -> 'QByteArray': ...
    def buffer(self) -> 'QByteArray': ...


class QByteArray(sip.simplewrapper):

    class Base64Option(int): ...
    Base64Encoding = ... # type: 'QByteArray.Base64Option'
    Base64UrlEncoding = ... # type: 'QByteArray.Base64Option'
    KeepTrailingEquals = ... # type: 'QByteArray.Base64Option'
    OmitTrailingEquals = ... # type: 'QByteArray.Base64Option'

    class Base64Options(sip.simplewrapper):

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

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

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

    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': ...
    def toHex(self) -> '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: ...
    @typing.overload
    def __getitem__(self, i: int) -> str: ...
    @typing.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': ...
    @typing.overload
    @staticmethod
    def fromBase64(base64: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def fromBase64(base64: typing.Union['QByteArray', bytes, bytearray], options: typing.Union['QByteArray.Base64Options', 'QByteArray.Base64Option']) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: float, format: str = ..., precision: int = ...) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    @staticmethod
    def number(n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: float, format: str = ..., precision: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    def setNum(self, n: int, base: int = ...) -> 'QByteArray': ...
    @typing.overload
    def toBase64(self) -> 'QByteArray': ...
    @typing.overload
    def toBase64(self, options: typing.Union['QByteArray.Base64Options', 'QByteArray.Base64Option']) -> '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']: ...
    @typing.overload
    def replace(self, index: int, len: int, s: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    @typing.overload
    def replace(self, before: typing.Union['QByteArray', bytes, bytearray], after: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    @typing.overload
    def replace(self, before: str, after: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    def remove(self, index: int, len: int) -> 'QByteArray': ...
    @typing.overload
    def insert(self, i: int, a: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    @typing.overload
    def insert(self, i: int, s: str) -> 'QByteArray': ...
    @typing.overload
    def append(self, a: typing.Union['QByteArray', bytes, bytearray]) -> 'QByteArray': ...
    @typing.overload
    def append(self, s: str) -> 'QByteArray': ...
    def prepend(self, a: typing.Union['QByteArray', bytes, bytearray]) -> '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': ...
    @typing.overload
    def count(self, a: typing.Union['QByteArray', bytes, bytearray]) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    @typing.overload
    def lastIndexOf(self, ba: typing.Union['QByteArray', bytes, bytearray], from_: int = ...) -> int: ...
    @typing.overload
    def lastIndexOf(self, str: str, from_: int = ...) -> int: ...
    @typing.overload
    def indexOf(self, ba: typing.Union['QByteArray', bytes, bytearray], from_: int = ...) -> int: ...
    @typing.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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pattern: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @typing.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 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):

    @typing.overload
    def __init__(self, locale: 'QLocale' = ...) -> None: ...
    @typing.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: Qt.CaseSensitivity) -> None: ...
    def caseSensitivity(self) -> Qt.CaseSensitivity: ...
    def locale(self) -> 'QLocale': ...
    def setLocale(self, locale: 'QLocale') -> None: ...
    def swap(self, other: 'QCollator') -> None: ...


class QCommandLineOption(sip.simplewrapper):

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

    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):

    class OptionsAfterPositionalArgumentsMode(int): ...
    ParseAsOptions = ... # type: 'QCommandLineParser.OptionsAfterPositionalArgumentsMode'
    ParseAsPositionalArguments = ... # type: 'QCommandLineParser.OptionsAfterPositionalArgumentsMode'

    class SingleDashWordOptionMode(int): ...
    ParseAsCompactedShortOptions = ... # type: 'QCommandLineParser.SingleDashWordOptionMode'
    ParseAsLongOptions = ... # type: 'QCommandLineParser.SingleDashWordOptionMode'

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

    def setOptionsAfterPositionalArgumentsMode(self, mode: 'QCommandLineParser.OptionsAfterPositionalArgumentsMode') -> None: ...
    def showVersion(self) -> None: ...
    def addOptions(self, options: typing.Any) -> 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]: ...
    @typing.overload
    def values(self, name: str) -> typing.List[str]: ...
    @typing.overload
    def values(self, option: QCommandLineOption) -> typing.List[str]: ...
    @typing.overload
    def value(self, name: str) -> str: ...
    @typing.overload
    def value(self, option: QCommandLineOption) -> str: ...
    @typing.overload
    def isSet(self, name: str) -> bool: ...
    @typing.overload
    def isSet(self, option: QCommandLineOption) -> bool: ...
    def errorText(self) -> str: ...
    def parse(self, arguments: typing.Iterable[str]) -> bool: ...
    @typing.overload
    def process(self, arguments: typing.Iterable[str]) -> None: ...
    @typing.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: 'QCommandLineParser.SingleDashWordOptionMode') -> None: ...


class QCoreApplication(QObject):

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

    @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: Qt.ApplicationAttribute) -> bool: ...
    @staticmethod
    def setAttribute(attribute: Qt.ApplicationAttribute, 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: ...
    @typing.overload
    @staticmethod
    def processEvents(flags: typing.Union['QEventLoop.ProcessEventsFlags', 'QEventLoop.ProcessEventsFlag'] = ...) -> None: ...
    @typing.overload
    @staticmethod
    def processEvents(flags: typing.Union['QEventLoop.ProcessEventsFlags', 'QEventLoop.ProcessEventsFlag'], 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'
    User = ... # type: 'QEvent.Type'
    MaxUser = ... # type: 'QEvent.Type'

    @typing.overload
    def __init__(self, type: 'QEvent.Type') -> None: ...
    @typing.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) -> 'QEvent.Type': ...


class QTimerEvent(QEvent):

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

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


class QChildEvent(QEvent):

    @typing.overload
    def __init__(self, type: QEvent.Type, child: QObject) -> None: ...
    @typing.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):

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

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


class QCryptographicHash(sip.simplewrapper):

    class Algorithm(int): ...
    Md4 = ... # type: 'QCryptographicHash.Algorithm'
    Md5 = ... # type: 'QCryptographicHash.Algorithm'
    Sha1 = ... # type: 'QCryptographicHash.Algorithm'
    Sha224 = ... # type: 'QCryptographicHash.Algorithm'
    Sha256 = ... # type: 'QCryptographicHash.Algorithm'
    Sha384 = ... # type: 'QCryptographicHash.Algorithm'
    Sha512 = ... # type: 'QCryptographicHash.Algorithm'
    Sha3_224 = ... # type: 'QCryptographicHash.Algorithm'
    Sha3_256 = ... # type: 'QCryptographicHash.Algorithm'
    Sha3_384 = ... # type: 'QCryptographicHash.Algorithm'
    Sha3_512 = ... # type: 'QCryptographicHash.Algorithm'

    def __init__(self, method: 'QCryptographicHash.Algorithm') -> None: ...

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


class QDataStream(sip.simplewrapper):

    class FloatingPointPrecision(int): ...
    SinglePrecision = ... # type: 'QDataStream.FloatingPointPrecision'
    DoublePrecision = ... # type: 'QDataStream.FloatingPointPrecision'

    class Status(int): ...
    Ok = ... # type: 'QDataStream.Status'
    ReadPastEnd = ... # type: 'QDataStream.Status'
    ReadCorruptData = ... # type: 'QDataStream.Status'
    WriteFailed = ... # type: 'QDataStream.Status'

    class ByteOrder(int): ...
    BigEndian = ... # type: 'QDataStream.ByteOrder'
    LittleEndian = ... # type: 'QDataStream.ByteOrder'

    class Version(int): ...
    Qt_1_0 = ... # type: 'QDataStream.Version'
    Qt_2_0 = ... # type: 'QDataStream.Version'
    Qt_2_1 = ... # type: 'QDataStream.Version'
    Qt_3_0 = ... # type: 'QDataStream.Version'
    Qt_3_1 = ... # type: 'QDataStream.Version'
    Qt_3_3 = ... # type: 'QDataStream.Version'
    Qt_4_0 = ... # type: 'QDataStream.Version'
    Qt_4_1 = ... # type: 'QDataStream.Version'
    Qt_4_2 = ... # type: 'QDataStream.Version'
    Qt_4_3 = ... # type: 'QDataStream.Version'
    Qt_4_4 = ... # type: 'QDataStream.Version'
    Qt_4_5 = ... # type: 'QDataStream.Version'
    Qt_4_6 = ... # type: 'QDataStream.Version'
    Qt_4_7 = ... # type: 'QDataStream.Version'
    Qt_4_8 = ... # type: 'QDataStream.Version'
    Qt_4_9 = ... # type: 'QDataStream.Version'
    Qt_5_0 = ... # type: 'QDataStream.Version'
    Qt_5_1 = ... # type: 'QDataStream.Version'
    Qt_5_2 = ... # type: 'QDataStream.Version'
    Qt_5_3 = ... # type: 'QDataStream.Version'
    Qt_5_4 = ... # type: 'QDataStream.Version'
    Qt_5_5 = ... # type: 'QDataStream.Version'
    Qt_5_6 = ... # type: 'QDataStream.Version'

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

    def setFloatingPointPrecision(self, precision: 'QDataStream.FloatingPointPrecision') -> None: ...
    def floatingPointPrecision(self) -> 'QDataStream.FloatingPointPrecision': ...
    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.List[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: 'QDataStream.ByteOrder') -> None: ...
    def byteOrder(self) -> 'QDataStream.ByteOrder': ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: 'QDataStream.Status') -> None: ...
    def status(self) -> 'QDataStream.Status': ...
    def atEnd(self) -> bool: ...
    def setDevice(self, a0: QIODevice) -> None: ...
    def device(self) -> QIODevice: ...


class QDate(sip.simplewrapper):

    class MonthNameType(int): ...
    DateFormat = ... # type: 'QDate.MonthNameType'
    StandaloneFormat = ... # type: 'QDate.MonthNameType'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, y: int, m: int, d: int) -> None: ...
    @typing.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: ...
    @typing.overload
    @staticmethod
    def fromString(string: str, format: Qt.DateFormat = ...) -> 'QDate': ...
    @typing.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': ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    @typing.overload
    def toString(self, format: str) -> str: ...
    @staticmethod
    def longDayName(weekday: int, type: 'QDate.MonthNameType' = ...) -> str: ...
    @staticmethod
    def longMonthName(month: int, type: 'QDate.MonthNameType' = ...) -> str: ...
    @staticmethod
    def shortDayName(weekday: int, type: 'QDate.MonthNameType' = ...) -> str: ...
    @staticmethod
    def shortMonthName(month: int, type: 'QDate.MonthNameType' = ...) -> 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: ...
    @typing.overload
    def isValid(self) -> bool: ...
    @typing.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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, h: int, m: int, second: int = ..., msec: int = ...) -> None: ...
    @typing.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: ...
    @typing.overload
    @staticmethod
    def fromString(string: str, format: Qt.DateFormat = ...) -> 'QTime': ...
    @typing.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: ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    @typing.overload
    def toString(self, format: str) -> str: ...
    def msec(self) -> int: ...
    def second(self) -> int: ...
    def minute(self) -> int: ...
    def hour(self) -> int: ...
    @typing.overload
    def isValid(self) -> bool: ...
    @typing.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):

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

    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: ...
    @typing.overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromMSecsSinceEpoch(msecs: int, spec: Qt.TimeSpec, offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.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: ...
    @typing.overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int, spec: Qt.TimeSpec, offsetSeconds: int = ...) -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromTime_t(secsSince1Jan1970UTC: int, timeZone: 'QTimeZone') -> 'QDateTime': ...
    @typing.overload
    @staticmethod
    def fromString(string: str, format: Qt.DateFormat = ...) -> 'QDateTime': ...
    @typing.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: Qt.TimeSpec) -> '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': ...
    @typing.overload
    def toString(self, format: Qt.DateFormat = ...) -> str: ...
    @typing.overload
    def toString(self, format: str) -> str: ...
    def setTime_t(self, secsSince1Jan1970UTC: int) -> None: ...
    def setTimeSpec(self, spec: Qt.TimeSpec) -> 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) -> Qt.TimeSpec: ...
    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 QDir(sip.simplewrapper):

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

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

    class Filters(sip.simplewrapper):

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

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

    class SortFlags(sip.simplewrapper):

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

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

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

    @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: ...
    @typing.overload
    @staticmethod
    def match(filters: typing.Iterable[str], fileName: str) -> bool: ...
    @typing.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.Any: ...
    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: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.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: ...
    @typing.overload
    def entryInfoList(self, filters: typing.Union['QDir.Filters', 'QDir.Filter'] = ..., sort: typing.Union['QDir.SortFlags', 'QDir.SortFlag'] = ...) -> typing.Any: ...
    @typing.overload
    def entryInfoList(self, nameFilters: typing.Iterable[str], filters: typing.Union['QDir.Filters', 'QDir.Filter'] = ..., sort: typing.Union['QDir.SortFlags', 'QDir.SortFlag'] = ...) -> typing.Any: ...
    @typing.overload
    def entryList(self, filters: typing.Union['QDir.Filters', 'QDir.Filter'] = ..., sort: typing.Union['QDir.SortFlags', 'QDir.SortFlag'] = ...) -> typing.List[str]: ...
    @typing.overload
    def entryList(self, nameFilters: typing.Iterable[str], filters: typing.Union['QDir.Filters', 'QDir.Filter'] = ..., sort: typing.Union['QDir.SortFlags', 'QDir.SortFlag'] = ...) -> typing.List[str]: ...
    @staticmethod
    def nameFiltersFromString(nameFilter: str) -> typing.List[str]: ...
    def __contains__(self, a0: str) -> int: ...
    @typing.overload
    def __getitem__(self, a0: int) -> str: ...
    @typing.overload
    def __getitem__(self, a0: slice) -> typing.List[str]: ...
    def __len__(self) -> int: ...
    def count(self) -> int: ...
    def setSorting(self, sort: typing.Union['QDir.SortFlags', 'QDir.SortFlag']) -> None: ...
    def sorting(self) -> 'QDir.SortFlags': ...
    def setFilter(self, filter: typing.Union['QDir.Filters', 'QDir.Filter']) -> None: ...
    def filter(self) -> 'QDir.Filters': ...
    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):

    class IteratorFlag(int): ...
    NoIteratorFlags = ... # type: 'QDirIterator.IteratorFlag'
    FollowSymlinks = ... # type: 'QDirIterator.IteratorFlag'
    Subdirectories = ... # type: 'QDirIterator.IteratorFlag'

    class IteratorFlags(sip.simplewrapper):

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

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

    @typing.overload
    def __init__(self, dir: QDir, flags: 'QDirIterator.IteratorFlags' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: str, flags: 'QDirIterator.IteratorFlags' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: str, filters: QDir.Filters, flags: 'QDirIterator.IteratorFlags' = ...) -> None: ...
    @typing.overload
    def __init__(self, path: str, nameFilters: typing.Iterable[str], filters: QDir.Filters = ..., flags: 'QDirIterator.IteratorFlags' = ...) -> 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):

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

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

    def toCubicSpline(self) -> typing.Any: ...
    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]: ...
    def setCustomType(self, func: typing.Callable[[], float]) -> None: ...
    def setType(self, type: 'QEasingCurve.Type') -> None: ...
    def type(self) -> 'QEasingCurve.Type': ...
    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):

    class ClockType(int): ...
    SystemTime = ... # type: 'QElapsedTimer.ClockType'
    MonotonicClock = ... # type: 'QElapsedTimer.ClockType'
    TickCounter = ... # type: 'QElapsedTimer.ClockType'
    MachAbsoluteTime = ... # type: 'QElapsedTimer.ClockType'
    PerformanceCounter = ... # type: 'QElapsedTimer.ClockType'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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() -> 'QElapsedTimer.ClockType': ...


class QEventLoop(QObject):

    class ProcessEventsFlag(int): ...
    AllEvents = ... # type: 'QEventLoop.ProcessEventsFlag'
    ExcludeUserInputEvents = ... # type: 'QEventLoop.ProcessEventsFlag'
    ExcludeSocketNotifiers = ... # type: 'QEventLoop.ProcessEventsFlag'
    WaitForMoreEvents = ... # type: 'QEventLoop.ProcessEventsFlag'
    X11ExcludeTimers = ... # type: 'QEventLoop.ProcessEventsFlag'

    class ProcessEventsFlags(sip.simplewrapper):

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

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

    def __init__(self, parent: typing.Optional[QObject] = ...) -> 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: 'QEventLoop.ProcessEventsFlags' = ...) -> int: ...
    def exec_(self, flags: 'QEventLoop.ProcessEventsFlags' = ...) -> int: ...
    @typing.overload
    def processEvents(self, flags: typing.Union['QEventLoop.ProcessEventsFlags', 'QEventLoop.ProcessEventsFlag'] = ...) -> bool: ...
    @typing.overload
    def processEvents(self, flags: typing.Union['QEventLoop.ProcessEventsFlags', 'QEventLoop.ProcessEventsFlag'], maximumTime: int) -> None: ...


class QEventLoopLocker(sip.simplewrapper):

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


class QEventTransition(QAbstractTransition):

    @typing.overload
    def __init__(self, sourceState: typing.Optional['QState'] = ...) -> None: ...
    @typing.overload
    def __init__(self, object: QObject, type: QEvent.Type, sourceState: typing.Optional['QState'] = ...) -> None: ...

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


class QFileDevice(QIODevice):

    class MemoryMapFlags(int): ...
    NoOptions = ... # type: 'QFileDevice.MemoryMapFlags'
    MapPrivateOption = ... # type: 'QFileDevice.MemoryMapFlags'

    class FileHandleFlag(int): ...
    AutoCloseHandle = ... # type: 'QFileDevice.FileHandleFlag'
    DontCloseHandle = ... # type: 'QFileDevice.FileHandleFlag'

    class Permission(int): ...
    ReadOwner = ... # type: 'QFileDevice.Permission'
    WriteOwner = ... # type: 'QFileDevice.Permission'
    ExeOwner = ... # type: 'QFileDevice.Permission'
    ReadUser = ... # type: 'QFileDevice.Permission'
    WriteUser = ... # type: 'QFileDevice.Permission'
    ExeUser = ... # type: 'QFileDevice.Permission'
    ReadGroup = ... # type: 'QFileDevice.Permission'
    WriteGroup = ... # type: 'QFileDevice.Permission'
    ExeGroup = ... # type: 'QFileDevice.Permission'
    ReadOther = ... # type: 'QFileDevice.Permission'
    WriteOther = ... # type: 'QFileDevice.Permission'
    ExeOther = ... # type: 'QFileDevice.Permission'

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

    class Permissions(sip.simplewrapper):

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

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

    class FileHandleFlags(sip.simplewrapper):

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

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

    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: 'QFileDevice.MemoryMapFlags' = ...) -> sip.voidptr: ...
    def setPermissions(self, permissionSpec: typing.Union['QFileDevice.Permissions', 'QFileDevice.Permission']) -> bool: ...
    def permissions(self) -> 'QFileDevice.Permissions': ...
    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) -> 'QFileDevice.FileError': ...


class QFile(QFileDevice):

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

    @typing.overload
    def setPermissions(self, permissionSpec: typing.Union[QFileDevice.Permissions, QFileDevice.Permission]) -> bool: ...
    @typing.overload
    @staticmethod
    def setPermissions(filename: str, permissionSpec: typing.Union[QFileDevice.Permissions, QFileDevice.Permission]) -> bool: ...
    @typing.overload
    def permissions(self) -> QFileDevice.Permissions: ...
    @typing.overload
    @staticmethod
    def permissions(filename: str) -> QFileDevice.Permissions: ...
    @typing.overload
    def resize(self, sz: int) -> bool: ...
    @typing.overload
    @staticmethod
    def resize(filename: str, sz: int) -> bool: ...
    def size(self) -> int: ...
    @typing.overload
    def open(self, flags: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag]) -> bool: ...
    @typing.overload
    def open(self, fd: int, ioFlags: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag], handleFlags: typing.Union[QFileDevice.FileHandleFlags, QFileDevice.FileHandleFlag] = ...) -> bool: ...
    @typing.overload
    def copy(self, newName: str) -> bool: ...
    @typing.overload
    @staticmethod
    def copy(fileName: str, newName: str) -> bool: ...
    @typing.overload
    def link(self, newName: str) -> bool: ...
    @typing.overload
    @staticmethod
    def link(oldname: str, newName: str) -> bool: ...
    @typing.overload
    def rename(self, newName: str) -> bool: ...
    @typing.overload
    @staticmethod
    def rename(oldName: str, newName: str) -> bool: ...
    @typing.overload
    def remove(self) -> bool: ...
    @typing.overload
    @staticmethod
    def remove(fileName: str) -> bool: ...
    @typing.overload
    def symLinkTarget(self) -> str: ...
    @typing.overload
    @staticmethod
    def symLinkTarget(fileName: str) -> str: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.overload
    @staticmethod
    def exists(fileName: str) -> bool: ...
    @typing.overload
    @staticmethod
    def decodeName(localFileName: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    @typing.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):

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

    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) -> QFileDevice.Permissions: ...
    def permission(self, permissions: typing.Union[QFileDevice.Permissions, QFileDevice.Permission]) -> 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 filePath(self) -> str: ...
    def refresh(self) -> None: ...
    @typing.overload
    def exists(self) -> bool: ...
    @typing.overload
    @staticmethod
    def exists(file: str) -> bool: ...
    @typing.overload
    def setFile(self, file: str) -> None: ...
    @typing.overload
    def setFile(self, file: QFile) -> None: ...
    @typing.overload
    def setFile(self, dir: QDir, file: str) -> None: ...


class QFileSelector(QObject):

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

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


class QFileSystemWatcher(QObject):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, paths: typing.Iterable[str], parent: typing.Optional[QObject] = ...) -> 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'] = ...) -> None: ...

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


class QHistoryState(QAbstractState):

    class HistoryType(int): ...
    ShallowHistory = ... # type: 'QHistoryState.HistoryType'
    DeepHistory = ... # type: 'QHistoryState.HistoryType'

    @typing.overload
    def __init__(self, parent: typing.Optional['QState'] = ...) -> None: ...
    @typing.overload
    def __init__(self, type: 'QHistoryState.HistoryType', parent: typing.Optional['QState'] = ...) -> 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: 'QHistoryState.HistoryType') -> None: ...
    def historyType(self) -> 'QHistoryState.HistoryType': ...
    def setDefaultState(self, state: QAbstractState) -> None: ...
    def defaultState(self) -> QAbstractState: ...


class QIdentityProxyModel(QAbstractProxyModel):

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

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def headerData(self, section: int, orientation: Qt.Orientation, 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[Qt.MatchFlags, Qt.MatchFlag] = ...) -> typing.Any: ...
    def mapSelectionToSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def mapSelectionFromSource(self, selection: 'QItemSelection') -> 'QItemSelection': ...
    def dropMimeData(self, data: 'QMimeData', action: Qt.DropAction, 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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, other: 'QItemSelectionRange') -> None: ...
    @typing.overload
    def __init__(self, atopLeft: QModelIndex, abottomRight: QModelIndex) -> None: ...
    @typing.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.Any: ...
    def isValid(self) -> bool: ...
    def intersects(self, other: 'QItemSelectionRange') -> bool: ...
    @typing.overload
    def contains(self, index: QModelIndex) -> bool: ...
    @typing.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):

    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'

    class SelectionFlags(sip.simplewrapper):

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

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

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

    def modelChanged(self, model: QAbstractItemModel) -> None: ...
    def setModel(self, model: QAbstractItemModel) -> None: ...
    def selectedColumns(self, row: int = ...) -> typing.Any: ...
    def selectedRows(self, column: int = ...) -> typing.Any: ...
    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['QItemSelectionModel.SelectionFlags', 'QItemSelectionModel.SelectionFlag']) -> None: ...
    @typing.overload
    def select(self, index: QModelIndex, command: typing.Union['QItemSelectionModel.SelectionFlags', 'QItemSelectionModel.SelectionFlag']) -> None: ...
    @typing.overload
    def select(self, selection: 'QItemSelection', command: typing.Union['QItemSelectionModel.SelectionFlags', 'QItemSelectionModel.SelectionFlag']) -> 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.Any: ...
    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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...
    @typing.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: ...
    @typing.overload
    def count(self, range: QItemSelectionRange) -> int: ...
    @typing.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: ...
    @typing.overload
    def __getitem__(self, i: int) -> QItemSelectionRange: ...
    @typing.overload
    def __getitem__(self, slice: slice) -> 'QItemSelection': ...
    @typing.overload
    def __delitem__(self, i: int) -> None: ...
    @typing.overload
    def __delitem__(self, slice: slice) -> None: ...
    @typing.overload
    def __setitem__(self, i: int, range: QItemSelectionRange) -> None: ...
    @typing.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[QItemSelectionModel.SelectionFlags, QItemSelectionModel.SelectionFlag]) -> None: ...
    def indexes(self) -> typing.Any: ...
    def __contains__(self, index: QModelIndex) -> int: ...
    def contains(self, index: QModelIndex) -> bool: ...
    def select(self, topLeft: QModelIndex, bottomRight: QModelIndex) -> None: ...


class QJsonParseError(sip.simplewrapper):

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

    error = ... # type: 'QJsonParseError.ParseError'
    offset = ... # type: int

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

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


class QJsonDocument(sip.simplewrapper):

    class JsonFormat(int): ...
    Indented = ... # type: 'QJsonDocument.JsonFormat'
    Compact = ... # type: 'QJsonDocument.JsonFormat'

    class DataValidation(int): ...
    Validate = ... # type: 'QJsonDocument.DataValidation'
    BypassValidation = ... # type: 'QJsonDocument.DataValidation'

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

    def isNull(self) -> bool: ...
    def setArray(self, array: typing.Iterable[typing.Union['QJsonValue', 'QJsonValue.Type', 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: ...
    @typing.overload
    def toJson(self) -> QByteArray: ...
    @typing.overload
    def toJson(self, format: 'QJsonDocument.JsonFormat') -> 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: 'QJsonDocument.DataValidation' = ...) -> 'QJsonDocument': ...
    def rawData(self) -> typing.Tuple[str, int]: ...
    @staticmethod
    def fromRawData(data: str, size: int, validation: 'QJsonDocument.DataValidation' = ...) -> 'QJsonDocument': ...


class QJsonValue(sip.simplewrapper):

    class Type(int): ...
    Null = ... # type: 'QJsonValue.Type'
    Bool = ... # type: 'QJsonValue.Type'
    Double = ... # type: 'QJsonValue.Type'
    String = ... # type: 'QJsonValue.Type'
    Array = ... # type: 'QJsonValue.Type'
    Object = ... # type: 'QJsonValue.Type'
    Undefined = ... # type: 'QJsonValue.Type'

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

    @typing.overload
    def toObject(self) -> typing.Dict[str, 'QJsonValue']: ...
    @typing.overload
    def toObject(self, defaultValue: typing.Dict[str, 'QJsonValue']) -> typing.Dict[str, 'QJsonValue']: ...
    @typing.overload
    def toArray(self) -> typing.List['QJsonValue']: ...
    @typing.overload
    def toArray(self, defaultValue: typing.Iterable[typing.Union['QJsonValue', 'QJsonValue.Type', typing.Dict[str, 'QJsonValue'], bool, int, float, str]]) -> typing.List['QJsonValue']: ...
    def toString(self, defaultValue: str = ...) -> str: ...
    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) -> 'QJsonValue.Type': ...
    def toVariant(self) -> typing.Any: ...
    @staticmethod
    def fromVariant(variant: typing.Any) -> 'QJsonValue': ...


class QLibrary(QObject):

    class LoadHint(int): ...
    ResolveAllSymbolsHint = ... # type: 'QLibrary.LoadHint'
    ExportExternalSymbolsHint = ... # type: 'QLibrary.LoadHint'
    LoadArchiveMemberHint = ... # type: 'QLibrary.LoadHint'
    PreventUnloadHint = ... # type: 'QLibrary.LoadHint'
    DeepBindHint = ... # type: 'QLibrary.LoadHint'

    class LoadHints(sip.simplewrapper):

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

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

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

    def setLoadHints(self, hints: typing.Union['QLibrary.LoadHints', 'QLibrary.LoadHint']) -> None: ...
    @typing.overload
    def setFileNameAndVersion(self, fileName: str, verNum: int) -> None: ...
    @typing.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: ...
    @typing.overload
    def resolve(self, symbol: str) -> sip.voidptr: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: str, symbol: str) -> sip.voidptr: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: str, verNum: int, symbol: str) -> sip.voidptr: ...
    @typing.overload
    @staticmethod
    def resolve(fileName: str, version: str, symbol: str) -> sip.voidptr: ...
    def loadHints(self) -> 'QLibrary.LoadHints': ...
    def load(self) -> bool: ...
    def isLoaded(self) -> bool: ...
    def fileName(self) -> str: ...
    def errorString(self) -> str: ...


class QLibraryInfo(sip.simplewrapper):

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

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

    @staticmethod
    def isDebugBuild() -> bool: ...
    @staticmethod
    def buildDate() -> QDate: ...
    @staticmethod
    def location(a0: 'QLibraryInfo.LibraryLocation') -> str: ...
    @staticmethod
    def licensedProducts() -> str: ...
    @staticmethod
    def licensee() -> str: ...


class QLine(sip.simplewrapper):

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

    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: ...
    @typing.overload
    def translated(self, p: 'QPoint') -> 'QLine': ...
    @typing.overload
    def translated(self, adx: int, ady: int) -> 'QLine': ...
    @typing.overload
    def translate(self, point: 'QPoint') -> None: ...
    @typing.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):

    class IntersectType(int): ...
    NoIntersection = ... # type: 'QLineF.IntersectType'
    BoundedIntersection = ... # type: 'QLineF.IntersectType'
    UnboundedIntersection = ... # type: 'QLineF.IntersectType'

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

    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: ...
    @typing.overload
    def translated(self, p: typing.Union['QPointF', 'QPoint']) -> 'QLineF': ...
    @typing.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: ...
    @typing.overload
    def translate(self, point: typing.Union['QPointF', 'QPoint']) -> None: ...
    @typing.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']) -> 'QLineF.IntersectType': ...
    def unitVector(self) -> 'QLineF': ...
    def length(self) -> float: ...
    def __bool__(self) -> int: ...
    def isNull(self) -> bool: ...


class QLocale(sip.simplewrapper):

    class QuotationStyle(int): ...
    StandardQuotation = ... # type: 'QLocale.QuotationStyle'
    AlternateQuotation = ... # type: 'QLocale.QuotationStyle'

    class CurrencySymbolFormat(int): ...
    CurrencyIsoCode = ... # type: 'QLocale.CurrencySymbolFormat'
    CurrencySymbol = ... # type: 'QLocale.CurrencySymbolFormat'
    CurrencyDisplayName = ... # type: 'QLocale.CurrencySymbolFormat'

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

    class MeasurementSystem(int): ...
    MetricSystem = ... # type: 'QLocale.MeasurementSystem'
    ImperialSystem = ... # type: 'QLocale.MeasurementSystem'
    ImperialUSSystem = ... # type: 'QLocale.MeasurementSystem'
    ImperialUKSystem = ... # type: 'QLocale.MeasurementSystem'

    class FormatType(int): ...
    LongFormat = ... # type: 'QLocale.FormatType'
    ShortFormat = ... # type: 'QLocale.FormatType'
    NarrowFormat = ... # type: 'QLocale.FormatType'

    class NumberOption(int): ...
    OmitGroupSeparator = ... # type: 'QLocale.NumberOption'
    RejectGroupSeparator = ... # type: 'QLocale.NumberOption'

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

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

    class NumberOptions(sip.simplewrapper):

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

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

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, name: str) -> None: ...
    @typing.overload
    def __init__(self, language: 'QLocale.Language', country: 'QLocale.Country' = ...) -> None: ...
    @typing.overload
    def __init__(self, other: 'QLocale') -> None: ...
    @typing.overload
    def __init__(self, language: 'QLocale.Language', script: 'QLocale.Script', country: 'QLocale.Country') -> None: ...

    def __hash__(self) -> int: ...
    def createSeparatedList(self, list: typing.Iterable[str]) -> str: ...
    def quoteString(self, str: str, style: 'QLocale.QuotationStyle' = ...) -> str: ...
    @staticmethod
    def matchingLocales(language: 'QLocale.Language', script: 'QLocale.Script', country: 'QLocale.Country') -> typing.Any: ...
    @staticmethod
    def scriptToString(script: 'QLocale.Script') -> str: ...
    def uiLanguages(self) -> typing.List[str]: ...
    @typing.overload
    def toCurrencyString(self, value: int, symbol: str = ...) -> str: ...
    @typing.overload
    def toCurrencyString(self, value: float, symbol: str = ...) -> str: ...
    @typing.overload
    def toCurrencyString(self, value: int, symbol: str = ...) -> str: ...
    @typing.overload
    def toCurrencyString(self, value: int, symbol: str = ...) -> str: ...
    def currencySymbol(self, format: 'QLocale.CurrencySymbolFormat' = ...) -> str: ...
    def toLower(self, str: str) -> str: ...
    def toUpper(self, str: str) -> str: ...
    def weekdays(self) -> typing.List[Qt.DayOfWeek]: ...
    def firstDayOfWeek(self) -> Qt.DayOfWeek: ...
    def nativeCountryName(self) -> str: ...
    def nativeLanguageName(self) -> str: ...
    def bcp47Name(self) -> str: ...
    def script(self) -> 'QLocale.Script': ...
    def textDirection(self) -> Qt.LayoutDirection: ...
    def pmText(self) -> str: ...
    def amText(self) -> str: ...
    def standaloneDayName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def standaloneMonthName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def positiveSign(self) -> str: ...
    def measurementSystem(self) -> 'QLocale.MeasurementSystem': ...
    def numberOptions(self) -> 'QLocale.NumberOptions': ...
    def setNumberOptions(self, options: typing.Union['QLocale.NumberOptions', 'QLocale.NumberOption']) -> None: ...
    def dayName(self, a0: int, format: 'QLocale.FormatType' = ...) -> str: ...
    def monthName(self, a0: int, format: 'QLocale.FormatType' = ...) -> 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: ...
    @typing.overload
    def toDateTime(self, string: str, format: 'QLocale.FormatType' = ...) -> QDateTime: ...
    @typing.overload
    def toDateTime(self, string: str, format: str) -> QDateTime: ...
    @typing.overload
    def toTime(self, string: str, format: 'QLocale.FormatType' = ...) -> QTime: ...
    @typing.overload
    def toTime(self, string: str, format: str) -> QTime: ...
    @typing.overload
    def toDate(self, string: str, format: 'QLocale.FormatType' = ...) -> QDate: ...
    @typing.overload
    def toDate(self, string: str, format: str) -> QDate: ...
    def dateTimeFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    def timeFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    def dateFormat(self, format: 'QLocale.FormatType' = ...) -> str: ...
    @staticmethod
    def system() -> 'QLocale': ...
    @staticmethod
    def c() -> 'QLocale': ...
    @staticmethod
    def setDefault(locale: 'QLocale') -> None: ...
    @staticmethod
    def countryToString(country: 'QLocale.Country') -> str: ...
    @staticmethod
    def languageToString(language: 'QLocale.Language') -> str: ...
    @typing.overload
    def toString(self, i: int) -> str: ...
    @typing.overload
    def toString(self, i: float, format: str = ..., precision: int = ...) -> str: ...
    @typing.overload
    def toString(self, i: int) -> str: ...
    @typing.overload
    def toString(self, i: int) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: str) -> str: ...
    @typing.overload
    def toString(self, dateTime: typing.Union[QDateTime, datetime.datetime], format: 'QLocale.FormatType' = ...) -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], formatStr: str) -> str: ...
    @typing.overload
    def toString(self, date: typing.Union[QDate, datetime.date], format: 'QLocale.FormatType' = ...) -> str: ...
    @typing.overload
    def toString(self, time: typing.Union[QTime, datetime.time], formatStr: str) -> str: ...
    @typing.overload
    def toString(self, time: typing.Union[QTime, datetime.time], format: 'QLocale.FormatType' = ...) -> 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) -> 'QLocale.Country': ...
    def language(self) -> 'QLocale.Language': ...


class QLockFile(sip.simplewrapper):

    class LockError(int): ...
    NoError = ... # type: 'QLockFile.LockError'
    LockFailedError = ... # type: 'QLockFile.LockError'
    PermissionError = ... # type: 'QLockFile.LockError'
    UnknownError = ... # type: 'QLockFile.LockError'

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

    def error(self) -> 'QLockFile.LockError': ...
    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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, file: str, line: int, function: str) -> None: ...
    @typing.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 QMargins(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, aleft: int, atop: int, aright: int, abottom: int) -> None: ...
    @typing.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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, aleft: float, atop: float, aright: float, abottom: float) -> None: ...
    @typing.overload
    def __init__(self, margins: QMargins) -> None: ...
    @typing.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: QCryptographicHash.Algorithm, key: typing.Union[QByteArray, bytes, bytearray] = ...) -> None: ...

    @staticmethod
    def hash(message: typing.Union[QByteArray, bytes, bytearray], key: typing.Union[QByteArray, bytes, bytearray], method: QCryptographicHash.Algorithm) -> QByteArray: ...
    def result(self) -> QByteArray: ...
    @typing.overload
    def addData(self, data: str, length: int) -> None: ...
    @typing.overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @typing.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):

    class MethodType(int): ...
    Method = ... # type: 'QMetaMethod.MethodType'
    Signal = ... # type: 'QMetaMethod.MethodType'
    Slot = ... # type: 'QMetaMethod.MethodType'
    Constructor = ... # type: 'QMetaMethod.MethodType'

    class Access(int): ...
    Private = ... # type: 'QMetaMethod.Access'
    Protected = ... # type: 'QMetaMethod.Access'
    Public = ... # type: 'QMetaMethod.Access'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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: ...
    @typing.overload
    def invoke(self, object: QObject, connectionType: Qt.ConnectionType, returnValue: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.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: ...
    @typing.overload
    def invoke(self, object: QObject, connectionType: Qt.ConnectionType, value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.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) -> 'QMetaMethod.MethodType': ...
    def access(self) -> 'QMetaMethod.Access': ...
    def tag(self) -> str: ...
    def parameterNames(self) -> typing.List[QByteArray]: ...
    def parameterTypes(self) -> typing.List[QByteArray]: ...
    def typeName(self) -> str: ...


class QMetaEnum(sip.simplewrapper):

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

    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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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) -> 'QVariant.Type': ...
    def typeName(self) -> str: ...
    def name(self) -> str: ...


class QMetaClassInfo(sip.simplewrapper):

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

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


class QMetaType(sip.simplewrapper):

    class TypeFlag(int): ...
    NeedsConstruction = ... # type: 'QMetaType.TypeFlag'
    NeedsDestruction = ... # type: 'QMetaType.TypeFlag'
    MovableType = ... # type: 'QMetaType.TypeFlag'
    IsGadget = ... # type: 'QMetaType.TypeFlag'

    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'
    User = ... # type: 'QMetaType.Type'

    class TypeFlags(sip.simplewrapper):

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

        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) -> 'QMetaType.TypeFlags': ...
    @staticmethod
    def typeFlags(type: int) -> 'QMetaType.TypeFlags': ...
    @typing.overload
    @staticmethod
    def isRegistered(type: int) -> bool: ...
    @typing.overload
    def isRegistered(self) -> bool: ...
    @staticmethod
    def typeName(type: int) -> str: ...
    @staticmethod
    def type(typeName: str) -> int: ...


class QMimeData(QObject):

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

    def retrieveData(self, mimetype: str, preferredType: 'QVariant.Type') -> 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.Any: ...


class QMimeDatabase(sip.simplewrapper):

    class MatchMode(int): ...
    MatchDefault = ... # type: 'QMimeDatabase.MatchMode'
    MatchExtension = ... # type: 'QMimeDatabase.MatchMode'
    MatchContent = ... # type: 'QMimeDatabase.MatchMode'

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

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


class QMimeType(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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):

    class RecursionMode(int): ...
    NonRecursive = ... # type: 'QMutex.RecursionMode'
    Recursive = ... # type: 'QMutex.RecursionMode'

    def __init__(self, mode: 'QMutex.RecursionMode' = ...) -> 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) -> 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):

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

    def constructor(self, index: int) -> QMetaMethod: ...
    def indexOfConstructor(self, constructor: str) -> int: ...
    def constructorCount(self) -> int: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, type: Qt.ConnectionType, ret: 'QGenericReturnArgument', value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.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: ...
    @typing.overload
    @staticmethod
    def invokeMethod(obj: QObject, member: str, type: Qt.ConnectionType, value0: 'QGenericArgument' = ..., value1: 'QGenericArgument' = ..., value2: 'QGenericArgument' = ..., value3: 'QGenericArgument' = ..., value4: 'QGenericArgument' = ..., value5: 'QGenericArgument' = ..., value6: 'QGenericArgument' = ..., value7: 'QGenericArgument' = ..., value8: 'QGenericArgument' = ..., value9: 'QGenericArgument' = ...) -> typing.Any: ...
    @typing.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: ...
    @typing.overload
    @staticmethod
    def checkConnectArgs(signal: str, method: str) -> bool: ...
    @typing.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 QParallelAnimationGroup(QAnimationGroup):

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

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


class QPauseAnimation(QAbstractAnimation):

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, msecs: int, parent: typing.Optional[QObject] = ...) -> 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):

    def __init__(self, parent: typing.Optional[QObject] = ...) -> 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: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> 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, QEasingCurve.Type]) -> 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.Any) -> None: ...
    def keyValues(self) -> 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):

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

    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> 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):

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

    def loadHints(self) -> QLibrary.LoadHints: ...
    def setLoadHints(self, loadHints: typing.Union[QLibrary.LoadHints, QLibrary.LoadHint]) -> 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.Any: ...
    def instance(self) -> QObject: ...


class QPoint(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, xpos: int, ypos: int) -> None: ...
    @typing.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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, xpos: float, ypos: float) -> None: ...
    @typing.overload
    def __init__(self, p: QPoint) -> None: ...
    @typing.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 QProcess(QIODevice):

    class InputChannelMode(int): ...
    ManagedInputChannel = ... # type: 'QProcess.InputChannelMode'
    ForwardedInputChannel = ... # type: 'QProcess.InputChannelMode'

    class ProcessChannelMode(int): ...
    SeparateChannels = ... # type: 'QProcess.ProcessChannelMode'
    MergedChannels = ... # type: 'QProcess.ProcessChannelMode'
    ForwardedChannels = ... # type: 'QProcess.ProcessChannelMode'
    ForwardedOutputChannel = ... # type: 'QProcess.ProcessChannelMode'
    ForwardedErrorChannel = ... # type: 'QProcess.ProcessChannelMode'

    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] = ...) -> None: ...

    def processId(self) -> int: ...
    @staticmethod
    def nullDevice() -> str: ...
    def setInputChannelMode(self, mode: 'QProcess.InputChannelMode') -> None: ...
    def inputChannelMode(self) -> 'QProcess.InputChannelMode': ...
    def open(self, mode: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> 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: 'QProcess.ProcessState') -> None: ...
    def errorOccurred(self, error: 'QProcess.ProcessError') -> None: ...
    def readyReadStandardError(self) -> None: ...
    def readyReadStandardOutput(self) -> None: ...
    def stateChanged(self, state: 'QProcess.ProcessState') -> None: ...
    def finished(self, exitCode: int, exitStatus: 'QProcess.ExitStatus') -> 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[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> None: ...
    def setStandardOutputFile(self, fileName: str, mode: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> None: ...
    def setStandardInputFile(self, fileName: str) -> None: ...
    def setProcessChannelMode(self, mode: 'QProcess.ProcessChannelMode') -> None: ...
    def processChannelMode(self) -> 'QProcess.ProcessChannelMode': ...
    @staticmethod
    def systemEnvironment() -> typing.List[str]: ...
    @typing.overload
    @staticmethod
    def startDetached(program: str, arguments: typing.Iterable[str], workingDirectory: str) -> typing.Tuple[bool, int]: ...
    @typing.overload
    @staticmethod
    def startDetached(program: str, arguments: typing.Iterable[str]) -> bool: ...
    @typing.overload
    @staticmethod
    def startDetached(program: str) -> bool: ...
    @typing.overload
    @staticmethod
    def execute(program: str, arguments: typing.Iterable[str]) -> int: ...
    @typing.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) -> 'QProcess.ExitStatus': ...
    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) -> 'QProcess.ProcessState': ...
    @typing.overload
    def error(self) -> 'QProcess.ProcessError': ...
    @typing.overload
    def error(self, error: 'QProcess.ProcessError') -> None: ...
    def setWorkingDirectory(self, dir: str) -> None: ...
    def workingDirectory(self) -> str: ...
    def closeWriteChannel(self) -> None: ...
    def closeReadChannel(self, channel: 'QProcess.ProcessChannel') -> None: ...
    def setReadChannel(self, channel: 'QProcess.ProcessChannel') -> None: ...
    def readChannel(self) -> 'QProcess.ProcessChannel': ...
    @typing.overload
    def start(self, program: str, arguments: typing.Iterable[str], mode: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> None: ...
    @typing.overload
    def start(self, command: str, mode: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> None: ...
    @typing.overload
    def start(self, mode: typing.Union[QIODevice.OpenMode, QIODevice.OpenModeFlag] = ...) -> None: ...


class QProcessEnvironment(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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: ...
    @typing.overload
    def insert(self, name: str, value: str) -> None: ...
    @typing.overload
    def insert(self, e: 'QProcessEnvironment') -> None: ...
    def contains(self, name: str) -> bool: ...
    def clear(self) -> None: ...
    def isEmpty(self) -> bool: ...


class QReadWriteLock(sip.simplewrapper):

    class RecursionMode(int): ...
    NonRecursive = ... # type: 'QReadWriteLock.RecursionMode'
    Recursive = ... # type: 'QReadWriteLock.RecursionMode'

    def __init__(self, recursionMode: 'QReadWriteLock.RecursionMode' = ...) -> None: ...

    def unlock(self) -> None: ...
    @typing.overload
    def tryLockForWrite(self) -> bool: ...
    @typing.overload
    def tryLockForWrite(self, timeout: int) -> bool: ...
    def lockForWrite(self) -> None: ...
    @typing.overload
    def tryLockForRead(self) -> bool: ...
    @typing.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):

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

    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: ...
    @typing.overload
    def moveTo(self, ax: int, ay: int) -> None: ...
    @typing.overload
    def moveTo(self, p: QPoint) -> None: ...
    @typing.overload
    def translated(self, dx: int, dy: int) -> 'QRect': ...
    @typing.overload
    def translated(self, p: QPoint) -> 'QRect': ...
    @typing.overload
    def translate(self, dx: int, dy: int) -> None: ...
    @typing.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: ...
    @typing.overload
    def __contains__(self, p: QPoint) -> int: ...
    @typing.overload
    def __contains__(self, r: 'QRect') -> int: ...
    @typing.overload
    def contains(self, point: QPoint, proper: bool = ...) -> bool: ...
    @typing.overload
    def contains(self, rectangle: 'QRect', proper: bool = ...) -> bool: ...
    @typing.overload
    def contains(self, ax: int, ay: int, aproper: bool) -> bool: ...
    @typing.overload
    def contains(self, ax: int, ay: int) -> bool: ...
    def moveCenter(self, p: QPoint) -> None: ...
    def normalized(self) -> 'QRect': ...


class QRectF(sip.simplewrapper):

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

    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]: ...
    @typing.overload
    def translated(self, dx: float, dy: float) -> 'QRectF': ...
    @typing.overload
    def translated(self, p: typing.Union[QPointF, QPoint]) -> 'QRectF': ...
    @typing.overload
    def moveTo(self, ax: float, ay: float) -> None: ...
    @typing.overload
    def moveTo(self, p: typing.Union[QPointF, QPoint]) -> None: ...
    @typing.overload
    def translate(self, dx: float, dy: float) -> None: ...
    @typing.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: ...
    @typing.overload
    def __contains__(self, p: typing.Union[QPointF, QPoint]) -> int: ...
    @typing.overload
    def __contains__(self, r: 'QRectF') -> int: ...
    @typing.overload
    def contains(self, p: typing.Union[QPointF, QPoint]) -> bool: ...
    @typing.overload
    def contains(self, r: 'QRectF') -> bool: ...
    @typing.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):

    class CaretMode(int): ...
    CaretAtZero = ... # type: 'QRegExp.CaretMode'
    CaretAtOffset = ... # type: 'QRegExp.CaretMode'
    CaretWontMatch = ... # type: 'QRegExp.CaretMode'

    class PatternSyntax(int): ...
    RegExp = ... # type: 'QRegExp.PatternSyntax'
    RegExp2 = ... # type: 'QRegExp.PatternSyntax'
    Wildcard = ... # type: 'QRegExp.PatternSyntax'
    FixedString = ... # type: 'QRegExp.PatternSyntax'
    WildcardUnix = ... # type: 'QRegExp.PatternSyntax'
    W3CXmlSchema11 = ... # type: 'QRegExp.PatternSyntax'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pattern: str, cs: Qt.CaseSensitivity = ..., syntax: 'QRegExp.PatternSyntax' = ...) -> None: ...
    @typing.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: 'QRegExp.CaretMode' = ...) -> int: ...
    def indexIn(self, str: str, offset: int = ..., caretMode: 'QRegExp.CaretMode' = ...) -> int: ...
    def exactMatch(self, str: str) -> bool: ...
    def setMinimal(self, minimal: bool) -> None: ...
    def isMinimal(self) -> bool: ...
    def setPatternSyntax(self, syntax: 'QRegExp.PatternSyntax') -> None: ...
    def patternSyntax(self) -> 'QRegExp.PatternSyntax': ...
    def setCaseSensitivity(self, cs: Qt.CaseSensitivity) -> None: ...
    def caseSensitivity(self) -> Qt.CaseSensitivity: ...
    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):

    class MatchOption(int): ...
    NoMatchOption = ... # type: 'QRegularExpression.MatchOption'
    AnchoredMatchOption = ... # type: 'QRegularExpression.MatchOption'
    DontCheckSubjectStringMatchOption = ... # type: 'QRegularExpression.MatchOption'

    class MatchType(int): ...
    NormalMatch = ... # type: 'QRegularExpression.MatchType'
    PartialPreferCompleteMatch = ... # type: 'QRegularExpression.MatchType'
    PartialPreferFirstMatch = ... # type: 'QRegularExpression.MatchType'
    NoMatch = ... # type: 'QRegularExpression.MatchType'

    class PatternOption(int): ...
    NoPatternOption = ... # type: 'QRegularExpression.PatternOption'
    CaseInsensitiveOption = ... # type: 'QRegularExpression.PatternOption'
    DotMatchesEverythingOption = ... # type: 'QRegularExpression.PatternOption'
    MultilineOption = ... # type: 'QRegularExpression.PatternOption'
    ExtendedPatternSyntaxOption = ... # type: 'QRegularExpression.PatternOption'
    InvertedGreedinessOption = ... # type: 'QRegularExpression.PatternOption'
    DontCaptureOption = ... # type: 'QRegularExpression.PatternOption'
    UseUnicodePropertiesOption = ... # type: 'QRegularExpression.PatternOption'
    OptimizeOnFirstUsageOption = ... # type: 'QRegularExpression.PatternOption'
    DontAutomaticallyOptimizeOption = ... # type: 'QRegularExpression.PatternOption'

    class PatternOptions(sip.simplewrapper):

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

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

    class MatchOptions(sip.simplewrapper):

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

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

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

    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: 'QRegularExpression.MatchType' = ..., matchOptions: typing.Union['QRegularExpression.MatchOptions', 'QRegularExpression.MatchOption'] = ...) -> 'QRegularExpressionMatchIterator': ...
    def match(self, subject: str, offset: int = ..., matchType: 'QRegularExpression.MatchType' = ..., matchOptions: typing.Union['QRegularExpression.MatchOptions', 'QRegularExpression.MatchOption'] = ...) -> '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['QRegularExpression.PatternOptions', 'QRegularExpression.PatternOption']) -> None: ...
    def patternOptions(self) -> 'QRegularExpression.PatternOptions': ...


class QRegularExpressionMatch(sip.simplewrapper):

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

    @typing.overload
    def capturedEnd(self, nth: int = ...) -> int: ...
    @typing.overload
    def capturedEnd(self, name: str) -> int: ...
    @typing.overload
    def capturedLength(self, nth: int = ...) -> int: ...
    @typing.overload
    def capturedLength(self, name: str) -> int: ...
    @typing.overload
    def capturedStart(self, nth: int = ...) -> int: ...
    @typing.overload
    def capturedStart(self, name: str) -> int: ...
    def capturedTexts(self) -> typing.List[str]: ...
    @typing.overload
    def captured(self, nth: int = ...) -> str: ...
    @typing.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) -> QRegularExpression.MatchOptions: ...
    def matchType(self) -> QRegularExpression.MatchType: ...
    def regularExpression(self) -> QRegularExpression: ...
    def swap(self, match: 'QRegularExpressionMatch') -> None: ...


class QRegularExpressionMatchIterator(sip.simplewrapper):

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

    def matchOptions(self) -> QRegularExpression.MatchOptions: ...
    def matchType(self) -> QRegularExpression.MatchType: ...
    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 isFile(self) -> bool: ...
    def isDir(self) -> bool: ...
    def children(self) -> typing.List[str]: ...
    @staticmethod
    def unregisterResourceData(rccData: str, mapRoot: str = ...) -> bool: ...
    @staticmethod
    def unregisterResource(rccFileName: str, mapRoot: str = ...) -> bool: ...
    @staticmethod
    def registerResourceData(rccData: str, 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):

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

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


class QSaveFile(QFileDevice):

    @typing.overload
    def __init__(self, name: str) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, name: str, parent: QObject) -> 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[QIODevice.OpenMode, QIODevice.OpenModeFlag]) -> 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: ...
    @typing.overload
    def tryAcquire(self, n: int = ...) -> bool: ...
    @typing.overload
    def tryAcquire(self, n: int, timeout: int) -> bool: ...
    def acquire(self, n: int = ...) -> None: ...


class QSequentialAnimationGroup(QAnimationGroup):

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

    def updateDirection(self, direction: QAbstractAnimation.Direction) -> None: ...
    def updateState(self, newState: QAbstractAnimation.State, oldState: QAbstractAnimation.State) -> 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'

    @typing.overload
    def __init__(self, organization: str, application: str = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, scope: 'QSettings.Scope', organization: str, application: str = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, format: 'QSettings.Format', scope: 'QSettings.Scope', organization: str, application: str = ..., parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, fileName: str, format: 'QSettings.Format', parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...

    def event(self, event: QEvent) -> bool: ...
    def iniCodec(self) -> 'QTextCodec': ...
    @typing.overload
    def setIniCodec(self, codec: 'QTextCodec') -> None: ...
    @typing.overload
    def setIniCodec(self, codecName: str) -> None: ...
    @staticmethod
    def defaultFormat() -> 'QSettings.Format': ...
    @staticmethod
    def setDefaultFormat(format: 'QSettings.Format') -> None: ...
    def applicationName(self) -> str: ...
    def organizationName(self) -> str: ...
    def scope(self) -> 'QSettings.Scope': ...
    def format(self) -> 'QSettings.Format': ...
    @staticmethod
    def setPath(format: 'QSettings.Format', scope: 'QSettings.Scope', 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) -> 'QSettings.Status': ...
    def sync(self) -> None: ...
    def clear(self) -> None: ...


class QSharedMemory(QObject):

    class SharedMemoryError(int): ...
    NoError = ... # type: 'QSharedMemory.SharedMemoryError'
    PermissionDenied = ... # type: 'QSharedMemory.SharedMemoryError'
    InvalidSize = ... # type: 'QSharedMemory.SharedMemoryError'
    KeyError = ... # type: 'QSharedMemory.SharedMemoryError'
    AlreadyExists = ... # type: 'QSharedMemory.SharedMemoryError'
    NotFound = ... # type: 'QSharedMemory.SharedMemoryError'
    LockError = ... # type: 'QSharedMemory.SharedMemoryError'
    OutOfResources = ... # type: 'QSharedMemory.SharedMemoryError'
    UnknownError = ... # type: 'QSharedMemory.SharedMemoryError'

    class AccessMode(int): ...
    ReadOnly = ... # type: 'QSharedMemory.AccessMode'
    ReadWrite = ... # type: 'QSharedMemory.AccessMode'

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

    def nativeKey(self) -> str: ...
    def setNativeKey(self, key: str) -> None: ...
    def errorString(self) -> str: ...
    def error(self) -> 'QSharedMemory.SharedMemoryError': ...
    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: 'QSharedMemory.AccessMode' = ...) -> bool: ...
    def size(self) -> int: ...
    def create(self, size: int, mode: 'QSharedMemory.AccessMode' = ...) -> bool: ...
    def key(self) -> str: ...
    def setKey(self, key: str) -> None: ...


class QSignalMapper(QObject):

    from PyQt5.QtWidgets import QWidget

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

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


class QSignalTransition(QAbstractTransition):

    @typing.overload
    def __init__(self, sourceState: typing.Optional['QState'] = ...) -> None: ...
    @typing.overload
    def __init__(self, signal: pyqtBoundSignal, sourceState: typing.Optional['QState'] = ...) -> 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):

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

    def transposed(self) -> 'QSize': ...
    @typing.overload
    def scaled(self, s: 'QSize', mode: Qt.AspectRatioMode) -> 'QSize': ...
    @typing.overload
    def scaled(self, w: int, h: int, mode: Qt.AspectRatioMode) -> '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: ...
    @typing.overload
    def scale(self, s: 'QSize', mode: Qt.AspectRatioMode) -> None: ...
    @typing.overload
    def scale(self, w: int, h: int, mode: Qt.AspectRatioMode) -> None: ...
    def transpose(self) -> None: ...


class QSizeF(sip.simplewrapper):

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

    def transposed(self) -> 'QSizeF': ...
    @typing.overload
    def scaled(self, s: 'QSizeF', mode: Qt.AspectRatioMode) -> 'QSizeF': ...
    @typing.overload
    def scaled(self, w: float, h: float, mode: Qt.AspectRatioMode) -> '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: ...
    @typing.overload
    def scale(self, s: 'QSizeF', mode: Qt.AspectRatioMode) -> None: ...
    @typing.overload
    def scale(self, w: float, h: float, mode: Qt.AspectRatioMode) -> None: ...
    def transpose(self) -> None: ...


class QSocketNotifier(QObject):

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

    def __init__(self, socket: sip.voidptr, a1: 'QSocketNotifier.Type', parent: typing.Optional[QObject] = ...) -> 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) -> 'QSocketNotifier.Type': ...
    def socket(self) -> sip.voidptr: ...


class QSortFilterProxyModel(QAbstractProxyModel):

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

    def invalidateFilter(self) -> None: ...
    def invalidate(self) -> None: ...
    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def setSortLocaleAware(self, on: bool) -> None: ...
    def isSortLocaleAware(self) -> bool: ...
    def supportedDropActions(self) -> Qt.DropActions: ...
    def mimeTypes(self) -> typing.List[str]: ...
    def setFilterRole(self, role: int) -> None: ...
    def filterRole(self) -> int: ...
    def sortOrder(self) -> Qt.SortOrder: ...
    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: Qt.CaseSensitivity) -> None: ...
    def sortCaseSensitivity(self) -> Qt.CaseSensitivity: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> None: ...
    def match(self, start: QModelIndex, role: int, value: typing.Any, hits: int = ..., flags: typing.Union[Qt.MatchFlags, Qt.MatchFlag] = ...) -> typing.Any: ...
    def span(self, index: QModelIndex) -> QSize: ...
    def buddy(self, index: QModelIndex) -> QModelIndex: ...
    def flags(self, index: QModelIndex) -> Qt.ItemFlags: ...
    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: Qt.DropAction, row: int, column: int, parent: QModelIndex) -> bool: ...
    def mimeData(self, indexes: typing.Any) -> QMimeData: ...
    def setHeaderData(self, section: int, orientation: Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
    def headerData(self, section: int, orientation: Qt.Orientation, 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: ...
    @typing.overload
    def parent(self, child: QModelIndex) -> QModelIndex: ...
    @typing.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 setFilterFixedString(self, pattern: str) -> None: ...
    def setFilterWildcard(self, pattern: str) -> None: ...
    def setFilterCaseSensitivity(self, cs: Qt.CaseSensitivity) -> None: ...
    def filterCaseSensitivity(self) -> Qt.CaseSensitivity: ...
    def setFilterKeyColumn(self, column: int) -> None: ...
    def filterKeyColumn(self) -> int: ...
    @typing.overload
    def setFilterRegExp(self, regExp: QRegExp) -> None: ...
    @typing.overload
    def setFilterRegExp(self, pattern: str) -> None: ...
    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):

    class LocateOption(int): ...
    LocateFile = ... # type: 'QStandardPaths.LocateOption'
    LocateDirectory = ... # type: 'QStandardPaths.LocateOption'

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

    class LocateOptions(sip.simplewrapper):

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

        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: 'QStandardPaths.StandardLocation') -> str: ...
    @staticmethod
    def locateAll(type: 'QStandardPaths.StandardLocation', fileName: str, options: 'QStandardPaths.LocateOptions' = ...) -> typing.List[str]: ...
    @staticmethod
    def locate(type: 'QStandardPaths.StandardLocation', fileName: str, options: 'QStandardPaths.LocateOptions' = ...) -> str: ...
    @staticmethod
    def standardLocations(type: 'QStandardPaths.StandardLocation') -> typing.List[str]: ...
    @staticmethod
    def writableLocation(type: 'QStandardPaths.StandardLocation') -> str: ...


class QState(QAbstractState):

    class RestorePolicy(int): ...
    DontRestoreProperties = ... # type: 'QState.RestorePolicy'
    RestoreProperties = ... # type: 'QState.RestorePolicy'

    class ChildMode(int): ...
    ExclusiveStates = ... # type: 'QState.ChildMode'
    ParallelStates = ... # type: 'QState.ChildMode'

    @typing.overload
    def __init__(self, parent: typing.Optional['QState'] = ...) -> None: ...
    @typing.overload
    def __init__(self, childMode: 'QState.ChildMode', parent: typing.Optional['QState'] = ...) -> 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: 'QState.ChildMode') -> None: ...
    def childMode(self) -> 'QState.ChildMode': ...
    def setInitialState(self, state: QAbstractState) -> None: ...
    def initialState(self) -> QAbstractState: ...
    def transitions(self) -> typing.Any: ...
    def removeTransition(self, transition: QAbstractTransition) -> None: ...
    @typing.overload
    def addTransition(self, transition: QAbstractTransition) -> None: ...
    @typing.overload
    def addTransition(self, signal: pyqtBoundSignal, target: QAbstractState) -> QSignalTransition: ...
    @typing.overload
    def addTransition(self, target: QAbstractState) -> QAbstractTransition: ...
    def setErrorState(self, state: QAbstractState) -> None: ...
    def errorState(self) -> QAbstractState: ...


class QStateMachine(QState):

    class Error(int): ...
    NoError = ... # type: 'QStateMachine.Error'
    NoInitialStateError = ... # type: 'QStateMachine.Error'
    NoDefaultStateInHistoryStateError = ... # type: 'QStateMachine.Error'
    NoCommonAncestorForTransitionError = ... # type: 'QStateMachine.Error'

    class EventPriority(int): ...
    NormalPriority = ... # type: 'QStateMachine.EventPriority'
    HighPriority = ... # type: 'QStateMachine.EventPriority'

    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: ...

    @typing.overload
    def __init__(self, parent: typing.Optional[QObject] = ...) -> None: ...
    @typing.overload
    def __init__(self, childMode: QState.ChildMode, parent: typing.Optional[QObject] = ...) -> 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.Any: ...
    def cancelDelayedEvent(self, id: int) -> bool: ...
    def postDelayedEvent(self, event: QEvent, delay: int) -> int: ...
    def postEvent(self, event: QEvent, priority: 'QStateMachine.EventPriority' = ...) -> None: ...
    def setGlobalRestorePolicy(self, restorePolicy: QState.RestorePolicy) -> None: ...
    def globalRestorePolicy(self) -> QState.RestorePolicy: ...
    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) -> 'QStateMachine.Error': ...
    def removeState(self, state: QAbstractState) -> None: ...
    def addState(self, state: QAbstractState) -> None: ...


class QStorageInfo(sip.simplewrapper):

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

    def blockSize(self) -> int: ...
    def isRoot(self) -> bool: ...
    @staticmethod
    def root() -> 'QStorageInfo': ...
    @staticmethod
    def mountedVolumes() -> typing.Any: ...
    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):

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

    def sibling(self, row: int, column: int, idx: QModelIndex) -> QModelIndex: ...
    def supportedDropActions(self) -> Qt.DropActions: ...
    def sort(self, column: int, order: Qt.SortOrder = ...) -> 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) -> Qt.ItemFlags: ...
    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):

    class SystemSemaphoreError(int): ...
    NoError = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    PermissionDenied = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    KeyError = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    AlreadyExists = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    NotFound = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    OutOfResources = ... # type: 'QSystemSemaphore.SystemSemaphoreError'
    UnknownError = ... # type: 'QSystemSemaphore.SystemSemaphoreError'

    class AccessMode(int): ...
    Open = ... # type: 'QSystemSemaphore.AccessMode'
    Create = ... # type: 'QSystemSemaphore.AccessMode'

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

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


class QTemporaryDir(sip.simplewrapper):

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

    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):

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

    @typing.overload
    @staticmethod
    def createNativeFile(fileName: str) -> 'QTemporaryFile': ...
    @typing.overload
    @staticmethod
    def createNativeFile(file: QFile) -> 'QTemporaryFile': ...
    def setFileTemplate(self, name: str) -> None: ...
    def fileTemplate(self) -> str: ...
    def fileName(self) -> str: ...
    @typing.overload
    def open(self) -> bool: ...
    @typing.overload
    def open(self, mode: QIODevice.OpenMode) -> bool: ...
    def setAutoRemove(self, b: bool) -> None: ...
    def autoRemove(self) -> bool: ...


class QTextBoundaryFinder(sip.simplewrapper):

    class BoundaryType(int): ...
    Grapheme = ... # type: 'QTextBoundaryFinder.BoundaryType'
    Word = ... # type: 'QTextBoundaryFinder.BoundaryType'
    Line = ... # type: 'QTextBoundaryFinder.BoundaryType'
    Sentence = ... # type: 'QTextBoundaryFinder.BoundaryType'

    class BoundaryReason(int): ...
    NotAtBoundary = ... # type: 'QTextBoundaryFinder.BoundaryReason'
    SoftHyphen = ... # type: 'QTextBoundaryFinder.BoundaryReason'
    BreakOpportunity = ... # type: 'QTextBoundaryFinder.BoundaryReason'
    StartOfItem = ... # type: 'QTextBoundaryFinder.BoundaryReason'
    EndOfItem = ... # type: 'QTextBoundaryFinder.BoundaryReason'
    MandatoryBreak = ... # type: 'QTextBoundaryFinder.BoundaryReason'

    class BoundaryReasons(sip.simplewrapper):

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

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

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

    def boundaryReasons(self) -> 'QTextBoundaryFinder.BoundaryReasons': ...
    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) -> 'QTextBoundaryFinder.BoundaryType': ...
    def isValid(self) -> bool: ...


class QTextCodec(sip.wrapper):

    class ConversionFlag(int): ...
    DefaultConversion = ... # type: 'QTextCodec.ConversionFlag'
    ConvertInvalidToNull = ... # type: 'QTextCodec.ConversionFlag'
    IgnoreHeader = ... # type: 'QTextCodec.ConversionFlag'

    class ConversionFlags(sip.simplewrapper):

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

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

    class ConverterState(sip.simplewrapper):

        def __init__(self, flags: typing.Union['QTextCodec.ConversionFlags', 'QTextCodec.ConversionFlag'] = ...) -> 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: ...
    @typing.overload
    def toUnicode(self, a0: typing.Union[QByteArray, bytes, bytearray]) -> str: ...
    @typing.overload
    def toUnicode(self, chars: str) -> str: ...
    @typing.overload
    def toUnicode(self, in_: bytes, state: typing.Optional['QTextCodec.ConverterState'] = ...) -> str: ...
    def canEncode(self, a0: str) -> bool: ...
    def makeEncoder(self, flags: typing.Union['QTextCodec.ConversionFlags', 'QTextCodec.ConversionFlag'] = ...) -> 'QTextEncoder': ...
    def makeDecoder(self, flags: typing.Union['QTextCodec.ConversionFlags', 'QTextCodec.ConversionFlag'] = ...) -> 'QTextDecoder': ...
    @staticmethod
    def setCodecForLocale(c: 'QTextCodec') -> None: ...
    @staticmethod
    def codecForLocale() -> 'QTextCodec': ...
    @staticmethod
    def availableMibs() -> typing.List[int]: ...
    @staticmethod
    def availableCodecs() -> typing.List[QByteArray]: ...
    @typing.overload
    @staticmethod
    def codecForUtfText(ba: typing.Union[QByteArray, bytes, bytearray]) -> 'QTextCodec': ...
    @typing.overload
    @staticmethod
    def codecForUtfText(ba: typing.Union[QByteArray, bytes, bytearray], defaultCodec: 'QTextCodec') -> 'QTextCodec': ...
    @typing.overload
    @staticmethod
    def codecForHtml(ba: typing.Union[QByteArray, bytes, bytearray]) -> 'QTextCodec': ...
    @typing.overload
    @staticmethod
    def codecForHtml(ba: typing.Union[QByteArray, bytes, bytearray], defaultCodec: 'QTextCodec') -> 'QTextCodec': ...
    @staticmethod
    def codecForMib(mib: int) -> 'QTextCodec': ...
    @typing.overload
    @staticmethod
    def codecForName(name: typing.Union[QByteArray, bytes, bytearray]) -> 'QTextCodec': ...
    @typing.overload
    @staticmethod
    def codecForName(name: str) -> 'QTextCodec': ...


class QTextEncoder(sip.wrapper):

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

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


class QTextDecoder(sip.wrapper):

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

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


class QTextStream(sip.simplewrapper):

    class Status(int): ...
    Ok = ... # type: 'QTextStream.Status'
    ReadPastEnd = ... # type: 'QTextStream.Status'
    ReadCorruptData = ... # type: 'QTextStream.Status'
    WriteFailed = ... # type: 'QTextStream.Status'

    class NumberFlag(int): ...
    ShowBase = ... # type: 'QTextStream.NumberFlag'
    ForcePoint = ... # type: 'QTextStream.NumberFlag'
    ForceSign = ... # type: 'QTextStream.NumberFlag'
    UppercaseBase = ... # type: 'QTextStream.NumberFlag'
    UppercaseDigits = ... # type: 'QTextStream.NumberFlag'

    class FieldAlignment(int): ...
    AlignLeft = ... # type: 'QTextStream.FieldAlignment'
    AlignRight = ... # type: 'QTextStream.FieldAlignment'
    AlignCenter = ... # type: 'QTextStream.FieldAlignment'
    AlignAccountingStyle = ... # type: 'QTextStream.FieldAlignment'

    class RealNumberNotation(int): ...
    SmartNotation = ... # type: 'QTextStream.RealNumberNotation'
    FixedNotation = ... # type: 'QTextStream.RealNumberNotation'
    ScientificNotation = ... # type: 'QTextStream.RealNumberNotation'

    class NumberFlags(sip.simplewrapper):

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

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

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

    def locale(self) -> QLocale: ...
    def setLocale(self, locale: QLocale) -> None: ...
    def pos(self) -> int: ...
    def resetStatus(self) -> None: ...
    def setStatus(self, status: 'QTextStream.Status') -> None: ...
    def status(self) -> 'QTextStream.Status': ...
    def realNumberPrecision(self) -> int: ...
    def setRealNumberPrecision(self, precision: int) -> None: ...
    def realNumberNotation(self) -> 'QTextStream.RealNumberNotation': ...
    def setRealNumberNotation(self, notation: 'QTextStream.RealNumberNotation') -> None: ...
    def integerBase(self) -> int: ...
    def setIntegerBase(self, base: int) -> None: ...
    def numberFlags(self) -> 'QTextStream.NumberFlags': ...
    def setNumberFlags(self, flags: typing.Union['QTextStream.NumberFlags', 'QTextStream.NumberFlag']) -> None: ...
    def fieldWidth(self) -> int: ...
    def setFieldWidth(self, width: int) -> None: ...
    def padChar(self) -> str: ...
    def setPadChar(self, ch: str) -> None: ...
    def fieldAlignment(self) -> 'QTextStream.FieldAlignment': ...
    def setFieldAlignment(self, alignment: 'QTextStream.FieldAlignment') -> 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: ...
    @typing.overload
    def setCodec(self, codec: QTextCodec) -> None: ...
    @typing.overload
    def setCodec(self, codecName: str) -> None: ...


class QTextStreamManipulator(sip.simplewrapper): ...


class QThread(QObject):

    class Priority(int): ...
    IdlePriority = ... # type: 'QThread.Priority'
    LowestPriority = ... # type: 'QThread.Priority'
    LowPriority = ... # type: 'QThread.Priority'
    NormalPriority = ... # type: 'QThread.Priority'
    HighPriority = ... # type: 'QThread.Priority'
    HighestPriority = ... # type: 'QThread.Priority'
    TimeCriticalPriority = ... # type: 'QThread.Priority'
    InheritPriority = ... # type: 'QThread.Priority'

    def __init__(self, parent: typing.Optional[QObject] = ...) -> 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: 'QThread.Priority' = ...) -> None: ...
    def exit(self, returnCode: int = ...) -> None: ...
    def stackSize(self) -> int: ...
    def setStackSize(self, stackSize: int) -> None: ...
    def priority(self) -> 'QThread.Priority': ...
    def setPriority(self, priority: 'QThread.Priority') -> 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] = ...) -> 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 tryStart(self, runnable: QRunnable) -> bool: ...
    def start(self, runnable: QRunnable, priority: int = ...) -> None: ...
    @staticmethod
    def globalInstance() -> 'QThreadPool': ...


class QTimeLine(QObject):

    class State(int): ...
    NotRunning = ... # type: 'QTimeLine.State'
    Paused = ... # type: 'QTimeLine.State'
    Running = ... # type: 'QTimeLine.State'

    class Direction(int): ...
    Forward = ... # type: 'QTimeLine.Direction'
    Backward = ... # type: 'QTimeLine.Direction'

    class CurveShape(int): ...
    EaseInCurve = ... # type: 'QTimeLine.CurveShape'
    EaseOutCurve = ... # type: 'QTimeLine.CurveShape'
    EaseInOutCurve = ... # type: 'QTimeLine.CurveShape'
    LinearCurve = ... # type: 'QTimeLine.CurveShape'
    SineCurve = ... # type: 'QTimeLine.CurveShape'
    CosineCurve = ... # type: 'QTimeLine.CurveShape'

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

    def setEasingCurve(self, curve: typing.Union[QEasingCurve, QEasingCurve.Type]) -> None: ...
    def easingCurve(self) -> QEasingCurve: ...
    def timerEvent(self, event: QTimerEvent) -> None: ...
    def valueChanged(self, x: float) -> None: ...
    def stateChanged(self, newState: 'QTimeLine.State') -> 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: 'QTimeLine.CurveShape') -> None: ...
    def curveShape(self) -> 'QTimeLine.CurveShape': ...
    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: 'QTimeLine.Direction') -> None: ...
    def direction(self) -> 'QTimeLine.Direction': ...
    def setLoopCount(self, count: int) -> None: ...
    def loopCount(self) -> int: ...
    def state(self) -> 'QTimeLine.State': ...


class QTimer(QObject):

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

    def remainingTime(self) -> int: ...
    def timerType(self) -> Qt.TimerType: ...
    def setTimerType(self, atype: Qt.TimerType) -> None: ...
    def timerEvent(self, a0: QTimerEvent) -> None: ...
    def timeout(self) -> None: ...
    def stop(self) -> None: ...
    @typing.overload
    def start(self, msec: int) -> None: ...
    @typing.overload
    def start(self) -> None: ...
    @typing.overload
    @staticmethod
    def singleShot(msec: int, slot: PYQT_SLOT) -> None: ...
    @typing.overload
    @staticmethod
    def singleShot(msec: int, timerType: Qt.TimerType, 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):

    class NameType(int): ...
    DefaultName = ... # type: 'QTimeZone.NameType'
    LongName = ... # type: 'QTimeZone.NameType'
    ShortName = ... # type: 'QTimeZone.NameType'
    OffsetName = ... # type: 'QTimeZone.NameType'

    class TimeType(int): ...
    StandardTime = ... # type: 'QTimeZone.TimeType'
    DaylightTime = ... # type: 'QTimeZone.TimeType'
    GenericTime = ... # type: 'QTimeZone.TimeType'

    class OffsetData(sip.simplewrapper):

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

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

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

    @staticmethod
    def utc() -> 'QTimeZone': ...
    @staticmethod
    def systemTimeZone() -> 'QTimeZone': ...
    @typing.overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray]) -> typing.List[QByteArray]: ...
    @typing.overload
    @staticmethod
    def windowsIdToIanaIds(windowsId: typing.Union[QByteArray, bytes, bytearray], country: QLocale.Country) -> typing.List[QByteArray]: ...
    @typing.overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @typing.overload
    @staticmethod
    def windowsIdToDefaultIanaId(windowsId: typing.Union[QByteArray, bytes, bytearray], country: QLocale.Country) -> QByteArray: ...
    @staticmethod
    def ianaIdToWindowsId(ianaId: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
    @typing.overload
    @staticmethod
    def availableTimeZoneIds() -> typing.List[QByteArray]: ...
    @typing.overload
    @staticmethod
    def availableTimeZoneIds(country: QLocale.Country) -> typing.List[QByteArray]: ...
    @typing.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: ...
    @typing.overload
    def displayName(self, atDateTime: typing.Union[QDateTime, datetime.datetime], nameType: 'QTimeZone.NameType' = ..., locale: QLocale = ...) -> str: ...
    @typing.overload
    def displayName(self, timeType: 'QTimeZone.TimeType', nameType: 'QTimeZone.NameType' = ..., locale: QLocale = ...) -> str: ...
    def comment(self) -> str: ...
    def country(self) -> QLocale.Country: ...
    def id(self) -> QByteArray: ...
    def isValid(self) -> bool: ...
    def swap(self, other: 'QTimeZone') -> None: ...


class QTranslator(QObject):

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

    def loadFromData(self, data: bytes, directory: str = ...) -> bool: ...
    @typing.overload
    def load(self, fileName: str, directory: str = ..., searchDelimiters: str = ..., suffix: str = ...) -> bool: ...
    @typing.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):

    class UserInputResolutionOption(int): ...
    DefaultResolution = ... # type: 'QUrl.UserInputResolutionOption'
    AssumeLocalFile = ... # type: 'QUrl.UserInputResolutionOption'

    class ComponentFormattingOption(int): ...
    PrettyDecoded = ... # type: 'QUrl.ComponentFormattingOption'
    EncodeSpaces = ... # type: 'QUrl.ComponentFormattingOption'
    EncodeUnicode = ... # type: 'QUrl.ComponentFormattingOption'
    EncodeDelimiters = ... # type: 'QUrl.ComponentFormattingOption'
    EncodeReserved = ... # type: 'QUrl.ComponentFormattingOption'
    DecodeReserved = ... # type: 'QUrl.ComponentFormattingOption'
    FullyEncoded = ... # type: 'QUrl.ComponentFormattingOption'
    FullyDecoded = ... # type: 'QUrl.ComponentFormattingOption'

    class UrlFormattingOption(int): ...
    None_ = ... # type: 'QUrl.UrlFormattingOption'
    RemoveScheme = ... # type: 'QUrl.UrlFormattingOption'
    RemovePassword = ... # type: 'QUrl.UrlFormattingOption'
    RemoveUserInfo = ... # type: 'QUrl.UrlFormattingOption'
    RemovePort = ... # type: 'QUrl.UrlFormattingOption'
    RemoveAuthority = ... # type: 'QUrl.UrlFormattingOption'
    RemovePath = ... # type: 'QUrl.UrlFormattingOption'
    RemoveQuery = ... # type: 'QUrl.UrlFormattingOption'
    RemoveFragment = ... # type: 'QUrl.UrlFormattingOption'
    PreferLocalFile = ... # type: 'QUrl.UrlFormattingOption'
    StripTrailingSlash = ... # type: 'QUrl.UrlFormattingOption'
    RemoveFilename = ... # type: 'QUrl.UrlFormattingOption'
    NormalizePathSegments = ... # type: 'QUrl.UrlFormattingOption'

    class ParsingMode(int): ...
    TolerantMode = ... # type: 'QUrl.ParsingMode'
    StrictMode = ... # type: 'QUrl.ParsingMode'
    DecodedMode = ... # type: 'QUrl.ParsingMode'

    class FormattingOptions(sip.simplewrapper):

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


    class ComponentFormattingOptions(sip.simplewrapper):

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

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

    class UserInputResolutionOptions(sip.simplewrapper):

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

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

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

    def matches(self, url: 'QUrl', options: 'QUrl.FormattingOptions') -> bool: ...
    def fileName(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def adjusted(self, options: 'QUrl.FormattingOptions') -> 'QUrl': ...
    @staticmethod
    def fromStringList(uris: typing.Iterable[str], mode: 'QUrl.ParsingMode' = ...) -> typing.List['QUrl']: ...
    @staticmethod
    def toStringList(uris: typing.Iterable['QUrl'], options: 'QUrl.FormattingOptions' = ...) -> typing.List[str]: ...
    def query(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    @typing.overload
    def setQuery(self, query: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    @typing.overload
    def setQuery(self, query: 'QUrlQuery') -> None: ...
    def toDisplayString(self, options: 'QUrl.FormattingOptions' = ...) -> str: ...
    def isLocalFile(self) -> bool: ...
    def topLevelDomain(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def swap(self, other: 'QUrl') -> None: ...
    @typing.overload
    @staticmethod
    def fromUserInput(userInput: str) -> 'QUrl': ...
    @typing.overload
    @staticmethod
    def fromUserInput(userInput: str, workingDirectory: str, options: 'QUrl.UserInputResolutionOptions' = ...) -> '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: 'QUrl.ParsingMode' = ...) -> '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: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setFragment(self, fragment: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def path(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setPath(self, path: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def port(self, defaultPort: int = ...) -> int: ...
    def setPort(self, port: int) -> None: ...
    def host(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setHost(self, host: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def password(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setPassword(self, password: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def userName(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setUserName(self, userName: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def userInfo(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setUserInfo(self, userInfo: str, mode: 'QUrl.ParsingMode' = ...) -> None: ...
    def authority(self, options: 'QUrl.ComponentFormattingOptions' = ...) -> str: ...
    def setAuthority(self, authority: str, mode: 'QUrl.ParsingMode' = ...) -> 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: 'QUrl.ParsingMode' = ...) -> None: ...
    def url(self, options: 'QUrl.FormattingOptions' = ...) -> str: ...
    def __repr__(self) -> str: ...
    def __hash__(self) -> int: ...


class QUrlQuery(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, url: QUrl) -> None: ...
    @typing.overload
    def __init__(self, queryString: str) -> None: ...
    @typing.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[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption] = ...) -> typing.List[str]: ...
    def queryItemValue(self, key: str, options: typing.Union[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption] = ...) -> 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[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption] = ...) -> typing.List[typing.Tuple[str, str]]: ...
    def setQueryItems(self, query: typing.Any) -> None: ...
    def queryPairDelimiter(self) -> str: ...
    def queryValueDelimiter(self) -> str: ...
    def setQueryDelimiters(self, valueDelimiter: str, pairDelimiter: str) -> None: ...
    def toString(self, options: typing.Union[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption] = ...) -> str: ...
    def setQuery(self, queryString: str) -> None: ...
    def query(self, options: typing.Union[QUrl.ComponentFormattingOptions, QUrl.ComponentFormattingOption] = ...) -> str: ...
    def clear(self) -> None: ...
    def isDetached(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def swap(self, other: 'QUrlQuery') -> None: ...


class QUuid(sip.simplewrapper):

    class Version(int): ...
    VerUnknown = ... # type: 'QUuid.Version'
    Time = ... # type: 'QUuid.Version'
    EmbeddedPOSIX = ... # type: 'QUuid.Version'
    Md5 = ... # type: 'QUuid.Version'
    Name = ... # type: 'QUuid.Version'
    Random = ... # type: 'QUuid.Version'
    Sha1 = ... # type: 'QUuid.Version'

    class Variant(int): ...
    VarUnknown = ... # type: 'QUuid.Variant'
    NCS = ... # type: 'QUuid.Variant'
    DCE = ... # type: 'QUuid.Variant'
    Microsoft = ... # type: 'QUuid.Variant'
    Reserved = ... # type: 'QUuid.Variant'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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: ...
    @typing.overload
    def __init__(self, a0: str) -> None: ...
    @typing.overload
    def __init__(self, a0: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @typing.overload
    def __init__(self, a0: 'QUuid') -> None: ...

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


class QVariant(sip.simplewrapper):

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

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

    def swap(self, other: 'QVariant') -> None: ...
    @staticmethod
    def nameToType(name: str) -> 'QVariant.Type': ...
    @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) -> 'QVariant.Type': ...
    def value(self) -> typing.Any: ...


class QVersionNumber(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, seg: typing.Iterable[int]) -> None: ...
    @typing.overload
    def __init__(self, maj: int) -> None: ...
    @typing.overload
    def __init__(self, maj: int, min: int) -> None: ...
    @typing.overload
    def __init__(self, maj: int, min: int, mic: int) -> None: ...
    @typing.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: ...
    @typing.overload
    def wait(self, mutex: QMutex, msecs: int = ...) -> bool: ...
    @typing.overload
    def wait(self, readWriteLock: QReadWriteLock, msecs: int = ...) -> bool: ...


class QXmlStreamAttribute(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, qualifiedName: str, value: str) -> None: ...
    @typing.overload
    def __init__(self, namespaceUri: str, name: str, value: str) -> None: ...
    @typing.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):

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

    def __contains__(self, value: QXmlStreamAttribute) -> int: ...
    @typing.overload
    def __delitem__(self, i: int) -> None: ...
    @typing.overload
    def __delitem__(self, slice: slice) -> None: ...
    @typing.overload
    def __setitem__(self, i: int, value: QXmlStreamAttribute) -> None: ...
    @typing.overload
    def __setitem__(self, slice: slice, list: 'QXmlStreamAttributes') -> None: ...
    @typing.overload
    def __getitem__(self, i: int) -> QXmlStreamAttribute: ...
    @typing.overload
    def __getitem__(self, slice: slice) -> 'QXmlStreamAttributes': ...
    def size(self) -> int: ...
    def replace(self, i: int, value: QXmlStreamAttribute) -> None: ...
    @typing.overload
    def remove(self, i: int) -> None: ...
    @typing.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: ...
    @typing.overload
    def count(self, value: QXmlStreamAttribute) -> int: ...
    @typing.overload
    def count(self) -> int: ...
    def contains(self, value: QXmlStreamAttribute) -> bool: ...
    def clear(self) -> None: ...
    def at(self, i: int) -> QXmlStreamAttribute: ...
    @typing.overload
    def hasAttribute(self, qualifiedName: str) -> bool: ...
    @typing.overload
    def hasAttribute(self, namespaceUri: str, name: str) -> bool: ...
    @typing.overload
    def append(self, namespaceUri: str, name: str, value: str) -> None: ...
    @typing.overload
    def append(self, qualifiedName: str, value: str) -> None: ...
    @typing.overload
    def append(self, attribute: QXmlStreamAttribute) -> None: ...
    @typing.overload
    def value(self, namespaceUri: str, name: str) -> str: ...
    @typing.overload
    def value(self, qualifiedName: str) -> str: ...


class QXmlStreamNamespaceDeclaration(sip.simplewrapper):

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

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


class QXmlStreamNotationDeclaration(sip.simplewrapper):

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

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


class QXmlStreamEntityDeclaration(sip.simplewrapper):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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):

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, device: QIODevice) -> None: ...
    @typing.overload
    def __init__(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @typing.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) -> 'QXmlStreamReader.Error': ...
    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.Any: ...
    def notationDeclarations(self) -> typing.Any: ...
    def addExtraNamespaceDeclarations(self, extraNamespaceDeclaractions: typing.Any) -> None: ...
    def addExtraNamespaceDeclaration(self, extraNamespaceDeclaraction: QXmlStreamNamespaceDeclaration) -> None: ...
    def namespaceDeclarations(self) -> typing.Any: ...
    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: 'QXmlStreamReader.ReadElementTextBehaviour' = ...) -> 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) -> 'QXmlStreamReader.TokenType': ...
    def readNext(self) -> 'QXmlStreamReader.TokenType': ...
    def atEnd(self) -> bool: ...
    def clear(self) -> None: ...
    @typing.overload
    def addData(self, data: typing.Union[QByteArray, bytes, bytearray]) -> None: ...
    @typing.overload
    def addData(self, data: str) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QXmlStreamWriter(sip.simplewrapper):

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

    def hasError(self) -> bool: ...
    def writeCurrentToken(self, reader: QXmlStreamReader) -> None: ...
    @typing.overload
    def writeStartElement(self, qualifiedName: str) -> None: ...
    @typing.overload
    def writeStartElement(self, namespaceUri: str, name: str) -> None: ...
    @typing.overload
    def writeStartDocument(self) -> None: ...
    @typing.overload
    def writeStartDocument(self, version: str) -> None: ...
    @typing.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: ...
    @typing.overload
    def writeTextElement(self, qualifiedName: str, text: str) -> None: ...
    @typing.overload
    def writeTextElement(self, namespaceUri: str, name: str, text: str) -> None: ...
    @typing.overload
    def writeEmptyElement(self, qualifiedName: str) -> None: ...
    @typing.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: ...
    @typing.overload
    def writeAttribute(self, qualifiedName: str, value: str) -> None: ...
    @typing.overload
    def writeAttribute(self, namespaceUri: str, name: str, value: str) -> None: ...
    @typing.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: ...
    @typing.overload
    def setCodec(self, codec: QTextCodec) -> None: ...
    @typing.overload
    def setCodec(self, codecName: str) -> None: ...
    def device(self) -> QIODevice: ...
    def setDevice(self, device: QIODevice) -> None: ...


class QSysInfo(sip.simplewrapper):

    class Endian(int): ...
    BigEndian = ... # type: 'QSysInfo.Endian'
    LittleEndian = ... # type: 'QSysInfo.Endian'
    ByteOrder = ... # type: 'QSysInfo.Endian'

    class Sizes(int): ...
    WordSize = ... # type: 'QSysInfo.Sizes'

    @typing.overload
    def __init__(self) -> None: ...
    @typing.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[..., typing.Optional[str]]: ...
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_ENUMS(*a0) -> 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: QtMsgType, context: QMessageLogContext, buf: str) -> str: ...
def qSetMessagePattern(messagePattern: str) -> None: ...
def qInstallMessageHandler(a0: typing.Optional[typing.Callable[[], None]]) -> typing.Optional[typing.Callable[[], None]]: ...
def qWarning(msg: str) -> None: ...
def qFatal(msg: str) -> None: ...
@typing.overload
def qErrnoWarning(code: int, msg: str) -> None: ...
@typing.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: ...
def qUncompress(data: typing.Union[QByteArray, bytes, bytearray]) -> QByteArray: ...
def qCompress(data: typing.Union[QByteArray, bytes, bytearray], compressionLevel: int = ...) -> QByteArray: ...
def qChecksum(s: bytes) -> int: ...
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: str, a2: str, a3: str) -> bool: ...
def qRegisterResourceData(a0: int, a1: str, a2: str, a3: str) -> bool: ...
def qSharedBuild() -> bool: ...
def qVersion() -> str: ...
def qRound64(d: float) -> int: ...
def qRound(d: float) -> int: ...
def qAbs(t: float) -> float: ...
