from collections.abc import Callable as Callable, Iterator
from homeassistant.core import State as State
from typing import Any

def find_state_attributes(states: list[State], key: str) -> Iterator[Any]: ...
def find_state(states: list[State]) -> Iterator[Any]: ...
def mean_int(*args: Any) -> int: ...
def mean_tuple(*args: Any) -> tuple[float | Any, ...]: ...
def attribute_equal(states: list[State], key: str) -> bool: ...
def most_frequent_attribute(states: list[State], key: str) -> Any | None: ...
def states_equal(states: list[State]) -> bool: ...
def _values_equal(values: Iterator[Any]) -> bool: ...
def reduce_attribute(states: list[State], key: str, default: Any | None = None, reduce: Callable[..., Any] = ...) -> Any: ...
