import PySide2.QtCore
import PySide2.QtWidgets
import _typeshed
import collections.abc
import typing
T = typing.TypeVar('T')
import typing_extensions

class QUiLoader(PySide2.QtCore.QObject):
    staticMetaObject: typing.ClassVar[PySide2.QtCore.QMetaObject] = ...
    def __init__(self, parent: typing.Union[PySide2.QtCore.QObject, None] = ..., destroyed: typing.Callable = ..., objectName: str = ..., objectNameChanged: typing.Callable = ...) -> None: ...
    def addPluginPath(self, path: str) -> None: ...
    def availableLayouts(self) -> typing.List[str]: ...
    def availableWidgets(self) -> typing.List[str]: ...
    def clearPluginPaths(self) -> None: ...
    def createAction(self, parent: typing.Union[PySide2.QtCore.QObject, None] = ..., name: str = ...) -> PySide2.QtWidgets.QAction: ...
    def createActionGroup(self, parent: typing.Union[PySide2.QtCore.QObject, None] = ..., name: str = ...) -> PySide2.QtWidgets.QActionGroup: ...
    def createLayout(self, className: str, parent: typing.Union[PySide2.QtCore.QObject, None] = ..., name: str = ...) -> PySide2.QtWidgets.QLayout: ...
    def createWidget(self, className: str, parent: typing.Union[PySide2.QtWidgets.QWidget, None] = ..., name: str = ...) -> PySide2.QtWidgets.QWidget: ...
    def errorString(self) -> str: ...
    def isLanguageChangeEnabled(self) -> bool: ...
    def isTranslationEnabled(self) -> bool: ...
    @typing.overload
    def load(self, device: PySide2.QtCore.QIODevice, parentWidget: typing.Union[PySide2.QtWidgets.QWidget, None] = ...) -> PySide2.QtWidgets.QWidget: ...
    @typing.overload
    def load(self, arg__1: str, parentWidget: typing.Union[PySide2.QtWidgets.QWidget, None] = ...) -> PySide2.QtWidgets.QWidget: ...
    def pluginPaths(self) -> typing.List[str]: ...
    def registerCustomWidget(self, customWidgetType: object) -> None: ...
    def setLanguageChangeEnabled(self, enabled: bool) -> None: ...
    def setTranslationEnabled(self, enabled: bool) -> None: ...
    def setWorkingDirectory(self, dir: PySide2.QtCore.QDir) -> None: ...
    def workingDirectory(self) -> PySide2.QtCore.QDir: ...

def loadUiType(uifile: str) -> object: ...
