"""Auto-generated type stubs for @configurable decorators.

This file is automatically generated by scripts/generate_stubs.py.
Do not edit manually - changes will be overwritten.
"""

from typing import override

from hipr import MakeableModel
import pandas as pd
from pdval import Datetime, Index, NonNegative, Validated

# Module constants
_DEFAULT_MIN_SAMPLES = 3

class rvol:  # noqa: N801
  class Config(MakeableModel["rvol"]):
    window: int
    epsilon: float
    def __init__(self, *, window: int = 20, epsilon: float = 1e-09) -> None: ...
    @override
    def make(self) -> rvol: ...

  window: int
  epsilon: float
  type Type = "rvol"
  def __new__(
    cls,
    data: Validated[pd.Series, NonNegative],
    *,
    window: int = 20,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...
  def __call__(
    self,
    data: Validated[pd.Series, NonNegative],
    *,
    window: int = 20,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...

class rvol_intraday:  # noqa: N801
  class Config(MakeableModel["rvol_intraday"]):
    min_samples: int
    epsilon: float
    def __init__(
      self, *, min_samples: int = _DEFAULT_MIN_SAMPLES, epsilon: float = 1e-09
    ) -> None: ...
    @override
    def make(self) -> rvol_intraday: ...

  min_samples: int
  epsilon: float
  type Type = "rvol_intraday"
  def __new__(
    cls,
    data: Validated[pd.Series, NonNegative, Index[Datetime]],
    *,
    lookback_days: int | None = None,
    min_samples: int = _DEFAULT_MIN_SAMPLES,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...
  def __call__(
    self,
    data: Validated[pd.Series, NonNegative, Index[Datetime]],
    *,
    lookback_days: int | None = None,
    min_samples: int = _DEFAULT_MIN_SAMPLES,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...
