from collections import Counter
from typing import Any, NamedTuple

from numpy import ndarray, str_

class MissingValues(NamedTuple):
    nan: bool = ...
    none: bool = ...

    def to_list(self) -> list[float | Any]: ...

class _nandict(dict):
    def __init__(self, mapping: dict[str, int] | dict[str | float, int] | dict[str_, int]) -> None: ...
    def __missing__(self, key): ...

class _NaNCounter(Counter):
    def __init__(self, items: ndarray) -> None: ...
    def __missing__(self, key): ...
