from .hsba_color import HSBAColor as HSBAColor
from dataclasses import dataclass
from typing import Iterator, Self

@dataclass(frozen=True)
class ColorScheme:
    colors: tuple[HSBAColor, ...]
    def __post_init__(self) -> None: ...
    def __len__(self) -> int: ...
    def __getitem__(self, index: int) -> HSBAColor: ...
    def __iter__(self) -> Iterator[HSBAColor]: ...
    @property
    def theme_color(self) -> HSBAColor: ...
    @classmethod
    def from_analogous(cls, theme_color: HSBAColor, spacing: float = 0.05) -> Self: ...
    @classmethod
    def from_accented_analogous(cls, theme_color: HSBAColor, spacing: float = 0.05) -> Self: ...
    @classmethod
    def from_complementary(cls, theme_color: HSBAColor) -> Self: ...
    @classmethod
    def from_compound(cls, theme_color: HSBAColor) -> Self: ...
    @classmethod
    def from_monochromatic(cls, theme_color: HSBAColor) -> Self: ...
    @classmethod
    def from_shades(cls, theme_color: HSBAColor) -> Self: ...
    @classmethod
    def from_split_complementary(cls, theme_color: HSBAColor, spacing: float = 0.05) -> Self: ...
    @classmethod
    def from_triadic(cls, theme_color: HSBAColor) -> Self: ...
