from .layout import MARGIN_MEDIUM as MARGIN_MEDIUM, QHBox as QHBox, SPACING_MEDIUM as SPACING_MEDIUM
from .qt import Property as Property, QColor as QColor, QEvent as QEvent, QFrame as QFrame, QKeySequence as QKeySequence, QLabel as QLabel, QObject as QObject, QPoint as QPoint, QTimer as QTimer, QWidget as QWidget, Qt as Qt
from .utils import currentScreenGeometry as currentScreenGeometry
from _typeshed import Incomplete
from enum import Enum

class ToolTipPosition(Enum):
    Top = 0
    Bottom = 1
    Left = 2
    Right = 3
    TopLeft = 4
    TopRight = 5
    BottomLeft = 6
    BottomRight = 7

class QToolTip(QFrame):
    def __init__(self, text: str = '', parent=None) -> None: ...
    def text(self) -> str: ...
    def setText(self, text: str): ...
    def duration(self) -> int: ...
    def setDuration(self, duration: int): ...
    def showEvent(self, e) -> None: ...
    def hideEvent(self, e) -> None: ...
    def closeEvent(self, e) -> None: ...
    def adjustPos(self, widget, position: ToolTipPosition): ...
    def getShortcutTextColorEnabled(self) -> QColor: ...
    def setShortcutTextColorEnabled(self, color: QColor): ...
    def getShortcutTextColorDisabled(self) -> QColor: ...
    def setShortcutTextColorDisabled(self, color: QColor): ...
    shortcutTextColorEnabled: Incomplete
    shortcutTextColorDisabled: Incomplete

class ToolTipPositionManager:
    def position(self, tooltip: QToolTip, parent: QWidget) -> QPoint: ...
    @staticmethod
    def manager(position: ToolTipPosition): ...

class TopToolTipManager(ToolTipPositionManager): ...
class TopLeftToolTipManager(ToolTipPositionManager): ...
class TopRightToolTipManager(ToolTipPositionManager): ...
class LeftToolTipManager(ToolTipPositionManager): ...
class RightToolTipManager(ToolTipPositionManager): ...
class BottomToolTipManager(ToolTipPositionManager): ...
class BottomRightToolTipManager(ToolTipPositionManager): ...
class BottomLeftToolTipManager(ToolTipPositionManager): ...

class QToolTipFilter(QObject):
    class Position:
        Top: Incomplete
        Bottom: Incomplete
        Left: Incomplete
        Right: Incomplete
        TopLeft: Incomplete
        TopRight: Incomplete
        BottomLeft: Incomplete
        BottomRight: Incomplete
    def __init__(self, parent: QWidget, delay: int = 500, position=...) -> None: ...
    def eventFilter(self, obj: QObject, e: QEvent) -> bool: ...
    def hide(self) -> None: ...
    def show(self) -> None: ...
    def setDelay(self, delay: int): ...
    def delay(self) -> int: ...

__TOOLTIP_MANAGERS__: Incomplete
