from typing import Any, Optional, Dict, List from django.db.models import Func class CumeDist(Func): function: str = ... name: str = ... output_field: Any = ... window_compatible: bool = ... class DenseRank(Func): name: str = ... output_field: Any = ... window_compatible: bool = ... class FirstValue(Func): name: str = ... window_compatible: bool = ... class LagLeadFunction(Func): window_compatible: bool = ... def __init__( self, expression: Optional[str], offset: int = ..., default: Optional[int] = ..., **extra: Any ) -> None: ... class Lag(LagLeadFunction): function: str = ... name: str = ... class LastValue(Func): arity: int = ... function: str = ... name: str = ... window_compatible: bool = ... class Lead(LagLeadFunction): function: str = ... name: str = ... class NthValue(Func): function: str = ... name: str = ... window_compatible: bool = ... def __init__(self, expression: Optional[str], nth: int = ..., **extra: Any) -> Any: ... class Ntile(Func): function: str = ... name: str = ... output_field: Any = ... window_compatible: bool = ... def __init__(self, num_buckets: int = ..., **extra: Any) -> Any: ... class PercentRank(Func): function: str = ... name: str = ... output_field: Any = ... window_compatible: bool = ... class Rank(Func): function: str = ... name: str = ... output_field: Any = ... window_compatible: bool = ... class RowNumber(Func): function: str = ... name: str = ... output_field: Any = ... window_compatible: bool = ...