from matplotlib.axes import Axes from collections.abc import Callable, Iterable from typing import Any import numpy as np __license__: str __credits__: list[str] __author__: str __version__: str RIGHT: int UP: int DOWN: int # TODO typing units class Sankey: diagrams: list[Any] ax: Axes unit: Any format: str | Callable[[float], str] scale: float gap: float radius: float shoulder: float offset: float margin: float pitch: float tolerance: float extent: np.ndarray def __init__( self, ax: Axes | None = ..., scale: float = ..., unit: Any = ..., format: str | Callable[[float], str] = ..., gap: float = ..., radius: float = ..., shoulder: float = ..., offset: float = ..., head_angle: float = ..., margin: float = ..., tolerance: float = ..., **kwargs ) -> None: ... def add( self, patchlabel: str = ..., flows: Iterable[float] | None = ..., orientations: Iterable[int] | None = ..., labels: str | Iterable[str | None] = ..., trunklength: float = ..., pathlengths: float | Iterable[float] = ..., prior: int | None = ..., connect: tuple[int, int] = ..., rotation: float = ..., **kwargs # Replace return with Self when py3.9 is dropped ) -> Sankey: ... def finish(self) -> list[Any]: ...