"""
This module contains function definitions for various text transformations.
"""
#  activate or deactivate stylisation
# every function remains active but useless (and remove previous stylisation)
def deactivate(): ...
def reactivate(): ...

# special / debug function
def raw(*values: object, sep: str = ' '): ...
def rprint(*values: object, sep: str = ' '): ...


def styles(value: object, *styles: str | int) -> str: ...
def style(*values: object, style: str | int) -> str: ...
def rgb(*values: object, r: int=0, g: int=0, b: int=0, rgb: tuple[int, int, int]=None, sep: str=' ') -> str: ...
def brgb(*values: object, r: int=0, g: int=0, b: int=0, rgb: tuple[int, int, int], sep: str=' ') -> str: ...
def hexa(*values: object, hexa: str, sep=' '): ...
def bhexa(*values: object, hexa: str, sep=' '): ...

# Functions of ANSI_STYLES
# Reset all styles
def reset(*values: object, sep: str = ' ') -> str: ...

# Text styles
def bold(*values: object, sep: str = ' ') -> str: ...
def dim(*values: object, sep: str = ' ') -> str: ...
def italic(*values: object, sep: str = ' ') -> str: ...
def underline(*values: object, sep: str = ' ') -> str: ...
def blinking(*values: object, sep: str = ' ') -> str: ...
def reverse(*values: object, sep: str = ' ') -> str: ...
def hidden(*values: object, sep: str = ' ') -> str: ...
def strikethrough(*values: object, sep: str = ' ') -> str: ...

# Reset text styles
def rbold(*values: object, sep: str = ' ') -> str: ...
def rdim(*values: object, sep: str = ' ') -> str: ...
def ritalic(*values: object, sep: str = ' ') -> str: ...
def runderline(*values: object, sep: str = ' ') -> str: ...
def rblinking(*values: object, sep: str = ' ') -> str: ...
def rreverse(*values: object, sep: str = ' ') -> str: ...
def rhidden(*values: object, sep: str = ' ') -> str: ...
def rstrikethrough(*values: object, sep: str = ' ') -> str: ...

# Foreground colors
def black(*values: object, sep: str = ' ') -> str: ...
def red(*values: object, sep: str = ' ') -> str: ...
def green(*values: object, sep: str = ' ') -> str: ...
def yellow(*values: object, sep: str = ' ') -> str: ...
def blue(*values: object, sep: str = ' ') -> str: ...
def magenta(*values: object, sep: str = ' ') -> str: ...
def cyan(*values: object, sep: str = ' ') -> str: ...
def white(*values: object, sep: str = ' ') -> str: ...

# Background colors
def bblack(*values: object, sep: str = ' ') -> str: ...
def bred(*values: object, sep: str = ' ') -> str: ...
def bgreen(*values: object, sep: str = ' ') -> str: ...
def byellow(*values: object, sep: str = ' ') -> str: ...
def bblue(*values: object, sep: str = ' ') -> str: ...
def bmagenta(*values: object, sep: str = ' ') -> str: ...
def bcyan(*values: object, sep: str = ' ') -> str: ...
def bwhite(*values: object, sep: str = ' ') -> str: ...

# light foreground colors
def lblack(*values: object, sep: str = ' ') -> str: ...
def lred(*values: object, sep: str = ' ') -> str: ...
def lgreen(*values: object, sep: str = ' ') -> str: ...
def lyellow(*values: object, sep: str = ' ') -> str: ...
def lblue(*values: object, sep: str = ' ') -> str: ...
def lmagenta(*values: object, sep: str = ' ') -> str: ...
def lcyan(*values: object, sep: str = ' ') -> str: ...

# light background colors
def blblack(*values: object, sep: str = ' ') -> str: ...
def blred(*values: object, sep: str = ' ') -> str: ...
def blgreen(*values: object, sep: str = ' ') -> str: ...
def blyellow(*values: object, sep: str = ' ') -> str: ...
def blblue(*values: object, sep: str = ' ') -> str: ...
def blmagenta(*values: object, sep: str = ' ') -> str: ...
def blcyan(*values: object, sep: str = ' ') -> str: ...

# Reset foreground and background colors
def rcolor(*values: object, sep: str = ' ') -> str: ...
def rbackground(*values: object, sep: str = ' ') -> str: ...


# Brut ANSI codes
# reset all styles
RESET: str = ...

# text styles
BOLD: str = ...
DIM: str = ...
ITALIC: str = ...
UNDERLINE: str = ...
BLINKING: str = ...
REVERSE: str = ...
HIDDEN: str = ...
STRIKETHROUGH: str = ...

# reset text styles
RBOLD: str = ...
RDIM: str = ...
RITALIC: str = ...
RUNDERLINE: str = ...
RBLINKING: str = ...
RREVERSE: str = ...
RHIDDEN: str = ...
RSTRIKETHROUGH: str = ...

# Foreground colors
BLACK: str = ...
RED: str = ...
GREEN: str = ...
YELLOW: str = ...
BLUE: str = ...
MAGENTA: str = ...
CYAN: str = ...
WHITE: str = ...

# background colors
BBLACK: str = ...
BRED: str = ...
BGREEN: str = ...
BYELLOW: str = ...
BBLUE: str = ...
BMAGENTA: str = ...
BCYAN: str = ...
BWHITE: str = ...

# light foreground colors
LBLACK: str = ...
LRED: str = ...
LGREEN: str = ...
LYELLOW: str = ...
LBLUE: str = ...
LMAGENTA: str = ...
LCYAN: str = ...

# light background colors
BLBLACK: str = ...
BLRED: str = ...
BLGREEN: str = ...
BLYELLOW: str = ...
BLBLUE: str = ...
BLMAGENTA: str = ...
BLCYAN: str = ...

# Reset foreground and background colors
RCOLOR: str = ...
RBACKGROUND: str = ...



