"""
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 PyQt6 import QtCore
from PyQt6.QtQml import *

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


def qmlRegisterUncreatableType(
    a0: type,
    uri: str,
    major: int,
    minor: int,
    reason: str,
    qmlName: typing.Optional[str] = ...,
) -> int:
    ...


def qmlRegisterAnonymousType(a0: type, uri: str, major: int) -> int:
    ...


def qmlRegisterSingletonInstance(
    uri: str, major: int, minor: int, typeName: str, cppObject: QtCore.QObject
) -> int:
    ...


def qmlRegisterRevision(
    a0: type, 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 qmlEngine(a0: QtCore.QObject) -> QQmlEngine:
    ...


def qmlContext(a0: QtCore.QObject) -> QQmlContext:
    ...


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


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


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


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


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


def qmlRegisterModule(uri: str, versionMajor: int, versionMinor: int) -> None:
    ...


def qmlProtectModule(uri: str, majVersion: int) -> bool:
    ...


def qmlRegisterUncreatableMetaObject(
    staticMetaObject: QtCore.QMetaObject,
    uri: str,
    versionMajor: int,
    versionMinor: int,
    qmlName: str,
    reason: str,
) -> int:
    ...


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


def qmlClearTypeRegistrations() -> None:
    ...
