"""Type stubs for the embedded Rust extension module (cosalette._filters_rs)."""

__version__: str

class Pt1Filter:
    def __init__(self, tau: float, dt: float) -> None: ...
    @property
    def tau(self) -> float: ...
    @property
    def dt(self) -> float: ...
    @property
    def alpha(self) -> float: ...
    @property
    def value(self) -> float | None: ...
    def update(self, raw: float) -> float: ...
    def reset(self) -> None: ...

class MedianFilter:
    def __init__(self, window: int) -> None: ...
    @property
    def window(self) -> int: ...
    @property
    def value(self) -> float | None: ...
    def update(self, raw: float) -> float: ...
    def reset(self) -> None: ...

class OneEuroFilter:
    def __init__(
        self,
        min_cutoff: float = 1.0,
        beta: float = 0.0,
        d_cutoff: float = 1.0,
        dt: float = 1.0,
    ) -> None: ...
    @property
    def min_cutoff(self) -> float: ...
    @property
    def beta(self) -> float: ...
    @property
    def d_cutoff(self) -> float: ...
    @property
    def dt(self) -> float: ...
    @property
    def value(self) -> float | None: ...
    def update(self, raw: float) -> float: ...
    def reset(self) -> None: ...
