from collections.abc import Iterable, Iterator
from typing import Literal

from .ast import Node

class Color:
    COLOR_SPACES: set[str] | None
    def __init__(self, space: str, coordinates: tuple[float | None, ...], alpha: float) -> None: ...
    def __iter__(self) -> Iterator[float | None]: ...
    def __getitem__(self, key: int) -> float: ...
    def __hash__(self) -> int: ...
    def __eq__(self, other: object) -> bool: ...
    def to(self, space: str) -> Color: ...

def parse_color(input: str | Iterable[Node]) -> Color | Literal["currentcolor"] | None: ...

COLOR_SPACES: set[str]
D50: tuple[float, float, float]
D65: tuple[float, float, float]
