"""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 Literal

from hipr.config import MakeableModel
import pandas as pd
from pdval import Finite, HasColumns, NonNaN, Validated

class ZigzagLegsConfig(MakeableModel[pd.DataFrame]):
    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: ...

class _ZigzagLegsConfigurable:
    Config: type[ZigzagLegsConfig]
    def __call__(
        self,
        data: Validated[pd.DataFrame, HasColumns[Literal["close"]], Finite, NonNaN],
        *,
        threshold: float = 0.01,
        min_distance_pct: float = 0.005,
        confirmation_bars: int = 2,
        epsilon: float = 1e-09,
    ) -> pd.DataFrame: ...

type zigzag_legs = _ZigzagLegsConfigurable
