from ._sdl.sdl2 import SDL_Color

__all__ = ["Color"]

class Color:
    _r: int
    _g: int
    _b: int
    _a: int

    def __init__(self, *color): ...

    def _SetColor(self, *color): ...

    @property
    def r(self) -> int: ...

    @r.setter
    def r(self, r: int): ...

    @property
    def g(self) -> int: ...

    @g.setter
    def g(self, r: int): ...

    @property
    def b(self) -> int: ...

    @b.setter
    def b(self, r: int): ...

    @property
    def a(self) -> int: ...

    @a.setter
    def a(self, a: int): ...

    @property
    def RGB(self) -> tuple[int, int, int]: ...

    @RGB.setter
    def RGB(self, color:tuple[int, int, int]): ...

    @property
    def RGBA(self) -> tuple[int, int, int, int]: ...

    @RGBA.setter
    def RGBA(self, color:tuple[int, int, int]|tuple[int, int, int, int]): ...

    @property
    def RGB01(self) -> tuple[float, float, float]: ...

    @RGB01.setter
    def RGB01(self, color:tuple[float, float, float]): ...

    @property
    def RGBA01(self) -> tuple[float, float, float, float]: ...

    @RGBA01.setter
    def RGBA01(self, color: tuple[float, float, float]|tuple[float, float, float, float]): ...

    @property
    def Uint32(self) -> int: ...

    @Uint32.setter
    def Uint32(self, color: int): ...

    @property
    def Hex(self) -> str: ...

    @Hex.setter
    def Hex(self, color: str): ...

    @property
    def Color(self) -> tuple[int, int, int, int]: ...

    @Color.setter
    def Color(self, *color): ...

    @property
    def SDLColor(self) -> SDL_Color: ...

    @SDLColor.setter
    def SDLColor(self, color: SDL_Color): ...
