"""
This type stub file was generated by pyright.
"""

import numba
import numpy as np

"""
Numba 1D var kernels that can be shared by
* Dataframe / Series
* groupby
* rolling / expanding

Mirrors pandas/_libs/window/aggregation.pyx
"""
@numba.jit(nopython=True, nogil=True, parallel=False)
def add_var(val: float, nobs: int, mean_x: float, ssqdm_x: float, compensation: float, num_consecutive_same_value: int, prev_value: float) -> tuple[int, float, float, float, int, float]:
    ...

@numba.jit(nopython=True, nogil=True, parallel=False)
def remove_var(val: float, nobs: int, mean_x: float, ssqdm_x: float, compensation: float) -> tuple[int, float, float, float]:
    ...

@numba.jit(nopython=True, nogil=True, parallel=False)
def sliding_var(values: np.ndarray, start: np.ndarray, end: np.ndarray, min_periods: int, ddof: int = ...) -> np.ndarray:
    ...

