"""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, override

from hipr import MakeableModel
import pandas as pd
from pdval import Datetime, Ge as GeValidator, HasColumns, Index, Validated

class vwap:  # noqa: N801
  class Config(MakeableModel["vwap"]):
    @override
    def make(self) -> vwap: ...

  type Type = "vwap"
  def __new__(
    cls,
    data: Validated[
      pd.DataFrame,
      HasColumns[Literal["high", "low", "close", "volume"]],
      Index[Datetime],
      GeValidator[Literal["high", "low"]],
    ],
    session_freq: Literal["D", "W", "ME"] = "D",
  ) -> pd.DataFrame: ...
  def __call__(
    self,
    data: Validated[
      pd.DataFrame,
      HasColumns[Literal["high", "low", "close", "volume"]],
      Index[Datetime],
      GeValidator[Literal["high", "low"]],
    ],
    session_freq: Literal["D", "W", "ME"] = "D",
  ) -> pd.DataFrame: ...

class vwap_anchored:  # noqa: N801
  class Config(MakeableModel["vwap_anchored"]):
    @override
    def make(self) -> vwap_anchored: ...

  type Type = "vwap_anchored"
  def __new__(
    cls,
    data: Validated[
      pd.DataFrame, HasColumns[Literal["high", "low", "close", "volume"]]
    ],
    anchor_index: int | None = None,
    anchor_datetime: pd.Timestamp | str | None = None,
  ) -> pd.DataFrame: ...
  def __call__(
    self,
    data: Validated[
      pd.DataFrame, HasColumns[Literal["high", "low", "close", "volume"]]
    ],
    anchor_index: int | None = None,
    anchor_datetime: pd.Timestamp | str | None = None,
  ) -> pd.DataFrame: ...
