from .base import BaseTemplateExtension as BaseTemplateExtension, TemplateFunction as TemplateFunction
from collections.abc import Iterable
from homeassistant.helpers import area_registry as ar
from homeassistant.helpers.template import TemplateEnvironment as TemplateEnvironment
from homeassistant.helpers.template.helpers import resolve_area_id as resolve_area_id

class AreaExtension(BaseTemplateExtension):
    def __init__(self, environment: TemplateEnvironment) -> None: ...
    def areas(self) -> Iterable[str | None]: ...
    def area_id(self, lookup_value: str) -> str | None: ...
    def _get_area_name(self, area_reg: ar.AreaRegistry, valid_area_id: str) -> str: ...
    def area_name(self, lookup_value: str) -> str | None: ...
    def area_entities(self, area_id_or_name: str) -> Iterable[str]: ...
    def area_devices(self, area_id_or_name: str) -> Iterable[str]: ...
