from __future__ import annotations

from .style import StyleState

class AnsiStr:
    def __init__(self, s: str, style: StyleState | None = ...) -> None: ...

    @property
    def style(self) -> StyleState: ...
    @style.setter
    def style(self, style: StyleState) -> None: ...
    @property
    def default_bg(self) -> AnsiStr: ...
    @property
    def default_fg(self) -> AnsiStr: ...

    def render(self) -> str: ...
    def bg(self, color: str) -> AnsiStr: ...
    def fg(self, color: str) -> AnsiStr: ...
    def fg_rgb(self, r: int, g: int, b: int) -> AnsiStr: ...
    def bg_rgb(self, r: int, g: int, b: int) -> AnsiStr: ...
    def rgb(self, r: int, g: int, b: int) -> AnsiStr: ...
    def fg_ansi_color(self, code: int) -> AnsiStr: ...
    def bg_ansi_color(self, code: int) -> AnsiStr: ...
    def ansi_color(self, code: int) -> AnsiStr: ...
    def invert_colors(self) -> AnsiStr: ...
    def reset(self) -> AnsiStr: ...
    def copy(self) -> AnsiStr: ...

    def __format__(self, format_spec: str) -> str: ...
    def __str__(self) -> str: ...
    def __repr__(self) -> str: ...
    @property
    def bg_black(self) -> AnsiStr: ...
    @property
    def bg_blue(self) -> AnsiStr: ...
    @property
    def bg_bright_black(self) -> AnsiStr: ...
    @property
    def bg_bright_blue(self) -> AnsiStr: ...
    @property
    def bg_bright_cyan(self) -> AnsiStr: ...
    @property
    def bg_bright_green(self) -> AnsiStr: ...
    @property
    def bg_bright_magenta(self) -> AnsiStr: ...
    @property
    def bg_bright_red(self) -> AnsiStr: ...
    @property
    def bg_bright_white(self) -> AnsiStr: ...
    @property
    def bg_bright_yellow(self) -> AnsiStr: ...
    @property
    def bg_cyan(self) -> AnsiStr: ...
    @property
    def bg_green(self) -> AnsiStr: ...
    @property
    def bg_magenta(self) -> AnsiStr: ...
    @property
    def bg_red(self) -> AnsiStr: ...
    @property
    def bg_white(self) -> AnsiStr: ...
    @property
    def bg_yellow(self) -> AnsiStr: ...
    @property
    def black(self) -> AnsiStr: ...
    @property
    def blinking(self) -> AnsiStr: ...
    @property
    def blue(self) -> AnsiStr: ...
    @property
    def bold(self) -> AnsiStr: ...
    @property
    def bright_black(self) -> AnsiStr: ...
    @property
    def bright_blue(self) -> AnsiStr: ...
    @property
    def bright_cyan(self) -> AnsiStr: ...
    @property
    def bright_green(self) -> AnsiStr: ...
    @property
    def bright_magenta(self) -> AnsiStr: ...
    @property
    def bright_red(self) -> AnsiStr: ...
    @property
    def bright_white(self) -> AnsiStr: ...
    @property
    def bright_yellow(self) -> AnsiStr: ...
    @property
    def crossed_out(self) -> AnsiStr: ...
    @property
    def cyan(self) -> AnsiStr: ...
    @property
    def encircled(self) -> AnsiStr: ...
    @property
    def faint(self) -> AnsiStr: ...
    @property
    def fg_black(self) -> AnsiStr: ...
    @property
    def fg_blue(self) -> AnsiStr: ...
    @property
    def fg_bright_black(self) -> AnsiStr: ...
    @property
    def fg_bright_blue(self) -> AnsiStr: ...
    @property
    def fg_bright_cyan(self) -> AnsiStr: ...
    @property
    def fg_bright_green(self) -> AnsiStr: ...
    @property
    def fg_bright_magenta(self) -> AnsiStr: ...
    @property
    def fg_bright_red(self) -> AnsiStr: ...
    @property
    def fg_bright_white(self) -> AnsiStr: ...
    @property
    def fg_bright_yellow(self) -> AnsiStr: ...
    @property
    def fg_cyan(self) -> AnsiStr: ...
    @property
    def fg_green(self) -> AnsiStr: ...
    @property
    def fg_magenta(self) -> AnsiStr: ...
    @property
    def fg_red(self) -> AnsiStr: ...
    @property
    def fg_white(self) -> AnsiStr: ...
    @property
    def fg_yellow(self) -> AnsiStr: ...
    @property
    def framed(self) -> AnsiStr: ...
    @property
    def green(self) -> AnsiStr: ...
    @property
    def italic(self) -> AnsiStr: ...
    @property
    def magenta(self) -> AnsiStr: ...
    @property
    def not_blinking(self) -> AnsiStr: ...
    @property
    def not_bold(self) -> AnsiStr: ...
    @property
    def not_crossed_out(self) -> AnsiStr: ...
    @property
    def not_encircled(self) -> AnsiStr: ...
    @property
    def not_faint(self) -> AnsiStr: ...
    @property
    def not_framed(self) -> AnsiStr: ...
    @property
    def not_italic(self) -> AnsiStr: ...
    @property
    def not_overlined(self) -> AnsiStr: ...
    @property
    def not_underlined(self) -> AnsiStr: ...
    @property
    def overlined(self) -> AnsiStr: ...
    @property
    def red(self) -> AnsiStr: ...
    @property
    def underlined(self) -> AnsiStr: ...
    @property
    def white(self) -> AnsiStr: ...
    @property
    def yellow(self) -> AnsiStr: ...
