"""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 Ge as GeValidator, HasColumns, NonEmpty, NonNaN, Validated

class MfiConfig(MakeableModel[pd.DataFrame]):
    window: int
    epsilon: float
    def __init__(self, *, window: int = 14, epsilon: float = 1e-09) -> None: ...

class _MfiConfigurable:
    Config: type[MfiConfig]
    def __call__(
        self,
        data: Validated[
            pd.DataFrame,
            HasColumns[Literal["high", "low", "close", "volume"]],
            GeValidator[Literal["high", "low"]],
            NonNaN,
            NonEmpty,
        ],
        *,
        window: int = 14,
        epsilon: float = 1e-09,
    ) -> pd.DataFrame: ...

type mfi = _MfiConfigurable
