"""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 Finite, Validated

class zigzag_legs:  # noqa: N801
  class Config(MakeableModel["zigzag_legs"]):
    threshold: float
    min_distance_pct: float
    confirmation_bars: int
    epsilon: float
    def __init__(
      self,
      *,
      threshold: float = 0.01,
      min_distance_pct: float = 0.005,
      confirmation_bars: int = 2,
      epsilon: float = 1e-09,
    ) -> None: ...
    @override
    def make(self) -> zigzag_legs: ...

  threshold: float
  min_distance_pct: float
  confirmation_bars: int
  epsilon: float
  type Type = "zigzag_legs"
  def __new__(
    cls,
    data: Validated[pd.Series, Finite],
    *,
    threshold: float = 0.01,
    min_distance_pct: float = 0.005,
    confirmation_bars: int = 2,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...
  def __call__(
    self,
    data: Validated[pd.Series, Finite],
    *,
    threshold: float = 0.01,
    min_distance_pct: float = 0.005,
    confirmation_bars: int = 2,
    epsilon: float = 1e-09,
  ) -> pd.Series: ...
