from dataclasses import dataclass
from typing import Self

@dataclass(frozen=True)
class HSBAColor:
    hue: float
    saturation: float
    brightness: float
    alpha: float
    def __iter__(self): ...
    def adjust_hue(self, change: float) -> Self: ...
    def complement(self) -> Self: ...
    def adjust_saturation(self, change: float, floor: float = 0.0, ceiling: float = 1.0, overflow: bool = False) -> Self: ...
    def adjust_brightness(self, change: float, floor: float = 0.0, ceiling: float = 1.0, overflow: bool = False) -> Self: ...
    def adjust_alpha(self, change: float, floor: float = 0.0, ceiling: float = 1.0) -> Self: ...
    @classmethod
    def random(cls, saturation_range: tuple[float, float] = (0.0, 1.0), brightness_range: tuple[float, float] = (0.0, 1.0)) -> Self: ...
