class Colour(tuple[int, int, int, int]):
    BLACK = (0x00, 0x00, 0x00, 0xFF)
    GREY_11 = (0x11, 0x11, 0x11, 0xFF)
    GREY_22 = (0x22, 0x22, 0x22, 0xFF)
    GREY_33 = (0x33, 0x33, 0x33, 0xFF)
    GREY_44 = (0x44, 0x44, 0x44, 0xFF)
    GREY_55 = (0x55, 0x55, 0x55, 0xFF)
    GREY_66 = (0x66, 0x66, 0x66, 0xFF)
    GREY_77 = (0x77, 0x77, 0x77, 0xFF)
    GREY_88 = (0x88, 0x88, 0x88, 0xFF)
    GREY_99 = (0x99, 0x99, 0x99, 0xFF)
    GREY_AA = (0xAA, 0xAA, 0xAA, 0xFF)
    GREY_BB = (0xBB, 0xBB, 0xBB, 0xFF)
    GREY_CC = (0xCC, 0xCC, 0xCC, 0xFF)
    GREY_DD = (0xDD, 0xDD, 0xDD, 0xFF)
    GREY_EE = (0xEE, 0xEE, 0xEE, 0xFF)
    RED = (0xFF, 0x00, 0x00, 0xFF)
    WHITE = (0xFF, 0xFF, 0xFF, 0xFF)


TColour = tuple[int, int, int, int]

ExpandParam = bool | float
Padding = tuple[int, int, int, int] | int
PaddingParam = Padding | int | None
Position = tuple[int, int]
Size = tuple[int, int]
SizeParam = Size | None


class Borders:
    top: int = 0
    right: int = 0
    bottom: int = 0
    left: int = 0

    def __init__(self, top: int, right: int, bottom: int, left: int):
        self.top = top
        self.right = right
        self.bottom = bottom
        self.left = left
