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

import functools
from typing import Callable
from pandas._typing import Scalar

@functools.lru_cache(maxsize=None)
def generate_shared_aggregator(func: Callable[..., Scalar], nopython: bool, nogil: bool, parallel: bool): # -> (values: ndarray[Unknown, Unknown], start: ndarray[Unknown, Unknown], end: ndarray[Unknown, Unknown], min_periods: int, *args: Unknown) -> NDArray[float64]:
    """
    Generate a Numba function that loops over the columns 2D object and applies
    a 1D numba kernel over each column.

    Parameters
    ----------
    func : function
        aggregation function to be applied to each column
    nopython : bool
        nopython to be passed into numba.jit
    nogil : bool
        nogil to be passed into numba.jit
    parallel : bool
        parallel to be passed into numba.jit

    Returns
    -------
    Numba function
    """
    ...

