from enum import IntFlag

class XinputButtons(IntFlag):
    DPAD_UP = ...
    DPAD_DOWN = ...
    DPAD_LEFT = ...
    DPAD_RIGHT = ...
    START = ...
    BACK = ...
    LEFT_THUMB = ...
    RIGHT_THUMB = ...
    LEFT_SHOULDER = ...
    RIGHT_SHOULDER = ...
    A = ...
    B = ...
    X = ...
    Y = ...

class XinputGamepad:
    def __init__(self, user_index: int) -> None: ...
    def update(self) -> bool: ...
    def configure_deadzone(
        self, left_thumb: float, right_thumb: float, trigger: float
    ) -> None: ...
    def set_vibration(self, left: float, right: float) -> None: ...
    def left_thumbstick(self) -> tuple[float, float]: ...
    def right_thumbstick(self) -> tuple[float, float]: ...
    def left_trigger(self) -> float: ...
    def right_trigger(self) -> float: ...
    def buttons(self) -> XinputButtons: ...
    def dpad_up(self) -> bool: ...
    def dpad_down(self) -> bool: ...
    def dpad_left(self) -> bool: ...
    def dpad_right(self) -> bool: ...
    def start(self) -> bool: ...
    def back(self) -> bool: ...
    def left_thumb(self) -> bool: ...
    def right_thumb(self) -> bool: ...
    def left_shoulder(self) -> bool: ...
    def right_shoulder(self) -> bool: ...
    def a(self) -> bool: ...
    def b(self) -> bool: ...
    def x(self) -> bool: ...
    def y(self) -> bool: ...
