"""
PySide stub files generated by **IceSpringPySideStubs**

Home: https://baijifeilong.github.io/2022/01/06/ice-spring-pyside-stubs/index.html

Github: https://github.com/baijifeilong/IceSpringPySideStubs

PyPI(PySide2): https://pypi.org/project/IceSpringPySideStubs-PySide2

PyPI(PySide6): https://pypi.org/project/IceSpringPySideStubs-PySide6

PyPI(PyQt5): https://pypi.org/project/IceSpringPySideStubs-PyQt5

PyPI(PyQt6): https://pypi.org/project/IceSpringPySideStubs-PyQt6

Generated by BaiJiFeiLong@gmail.com

License: MIT
"""
import typing
from PyQt5 import QtCore
from PyQt5.QtQml import *

PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal]
PYQT_SLOT = typing.Union[typing.Callable[..., None], QtCore.pyqtBoundSignal]


@typing.overload
def qmlRegisterUncreatableType(
    a0: type, uri: str, major: int, minor: int, qmlName: str, reason: str
) -> int:
    ...


@typing.overload
def qmlRegisterUncreatableType(
    a0: type, revision: int, uri: str, major: int, minor: int, qmlName: str, reason: str
) -> int:
    ...


@typing.overload
def qmlRegisterType(
    url: QtCore.QUrl, uri: str, major: int, minor: int, qmlName: str
) -> int:
    ...


@typing.overload
def qmlRegisterType(a0: type, attachedProperties: type = ...) -> int:
    ...


@typing.overload
def qmlRegisterType(
    a0: type,
    uri: str,
    major: int,
    minor: int,
    qmlName: str,
    attachedProperties: type = ...,
) -> int:
    ...


@typing.overload
def qmlRegisterType(
    a0: type,
    revision: int,
    uri: str,
    major: int,
    minor: int,
    qmlName: str,
    attachedProperties: type = ...,
) -> int:
    ...


@typing.overload
def qmlRegisterSingletonType(
    url: QtCore.QUrl, uri: str, major: int, minor: int, qmlName: str
) -> int:
    ...


@typing.overload
def qmlRegisterSingletonType(
    a0: type,
    uri: str,
    major: int,
    minor: int,
    typeName: str,
    factory: typing.Callable[[QQmlEngine, QJSEngine], typing.Any],
) -> int:
    ...


def qmlRegisterRevision(
    a0: type,
    revision: int,
    uri: str,
    major: int,
    minor: int,
    attachedProperties: type = ...,
) -> int:
    ...


def qmlAttachedPropertiesObject(
    a0: type, object: QtCore.QObject, create: bool = ...
) -> QtCore.QObject:
    ...


def qjsEngine(a0: QtCore.QObject) -> QJSEngine:
    ...


def qmlTypeId(uri: str, versionMajor: int, versionMinor: int, qmlName: str) -> int:
    ...


def qmlClearTypeRegistrations() -> None:
    ...
