from _typeshed import Incomplete
from pathlib import Path
from qSide import QIconProvider, QLocale, QLogger as QLogger, QPlugin as QPlugin, QTheme, QTranslator, QUserConfig
from typing import Literal

def xSideConfigFolder(safeMode: bool = False) -> Path: ...

class xSide:
    __instance__: Incomplete
    __initialized__: bool
    __dev__: bool
    def __new__(cls, *args, **kwargs): ...
    def __init__(self) -> None: ...
    def __getattr__(self, name): ...
    @property
    def config(self) -> QUserConfig: ...
    @property
    def logger(self) -> QLogger: ...
    @property
    def theme(self) -> QTheme: ...
    @property
    def icons(self) -> QIconProvider: ...
    @property
    def dev(self) -> bool: ...
    def bootup(self, version: str, name: str, theme: Literal['auto', 'light', 'dark'] = 'auto', locale: QLocale = ..., *, plugins: list[type[QPlugin]] = [], dev: bool = False): ...
    def run(self) -> None: ...
    def setLocale(self, locale: QLocale): ...
    def installTranslator(self, translator: QTranslator): ...
    def setWindowTitle(self, title: str): ...
    def findXPlugins(self) -> list[type[QPlugin]]: ...
