from . import resources as resources
from .utils import start_system_move as start_system_move
from _typeshed import Incomplete
from enum import Enum, IntEnum
from qtpy.QtCore import QSize
from qtpy.QtGui import QIcon, QMouseEvent as QMouseEvent, QPixmap
from qtpy.QtWidgets import QFrame, QPushButton, QWidget

class Icon(QIcon):
    def __init__(self, icon_path: str | QPixmap = None) -> None: ...
    def addFile(self, fileName: str, size: QSize = None, mode: QIcon.Mode = None, state: QIcon.State = None) -> None: ...

class MaximizeButtonIcon(str, Enum):
    RESTORE = 'restore'
    MAXIMIZE = 'maximize'

class TitleBarButton(QPushButton):
    def __init__(self, parent: QWidget | None) -> None: ...

class MaximizeButtonState(IntEnum):
    HOVER = ...
    NORMAL = ...

class MaximizeButton(TitleBarButton):
    def __init__(self, parent: QWidget | None) -> None: ...
    def setState(self, state: MaximizeButtonState) -> None: ...

class MinimizeButton(TitleBarButton):
    def __init__(self, parent: QWidget | None) -> None: ...

class CloseButton(TitleBarButton):
    def __init__(self, parent: QWidget | None) -> None: ...

class QuteTitleBar(QFrame):
    button_box: Incomplete
    maximizeButton: Incomplete
    minimize_button: Incomplete
    close_button: Incomplete
    button_box_horizontalLayout: Incomplete
    horizontalLayout: Incomplete
    title_label: Incomplete
    def __init__(self, parent: QWidget | None = None) -> None: ...
    def on_close_button_clicked(self) -> None: ...
    def on_maximize_button_clicked(self) -> None: ...
    def on_minimize_button_clicked(self) -> None: ...
    def set_maximize_button_icon(self, icon) -> None: ...
    def eventFilter(self, obj, e): ...
    def mouseMoveEvent(self, event: QMouseEvent) -> None: ...
    def setText(self, text: str): ...
    def text(self) -> str: ...
    def setButtonBoxVisible(self, vis: bool): ...
    def isButtonBoxVisible(self) -> bool: ...
