from . import DEVICE_CLASS_BATTERY as DEVICE_CLASS_BATTERY, DEVICE_CLASS_BATTERY_CHARGING as DEVICE_CLASS_BATTERY_CHARGING, DEVICE_CLASS_COLD as DEVICE_CLASS_COLD, DEVICE_CLASS_CONNECTIVITY as DEVICE_CLASS_CONNECTIVITY, DEVICE_CLASS_DOOR as DEVICE_CLASS_DOOR, DEVICE_CLASS_GARAGE_DOOR as DEVICE_CLASS_GARAGE_DOOR, DEVICE_CLASS_GAS as DEVICE_CLASS_GAS, DEVICE_CLASS_HEAT as DEVICE_CLASS_HEAT, DEVICE_CLASS_LIGHT as DEVICE_CLASS_LIGHT, DEVICE_CLASS_LOCK as DEVICE_CLASS_LOCK, DEVICE_CLASS_MOISTURE as DEVICE_CLASS_MOISTURE, DEVICE_CLASS_MOTION as DEVICE_CLASS_MOTION, DEVICE_CLASS_MOVING as DEVICE_CLASS_MOVING, DEVICE_CLASS_OCCUPANCY as DEVICE_CLASS_OCCUPANCY, DEVICE_CLASS_OPENING as DEVICE_CLASS_OPENING, DEVICE_CLASS_PLUG as DEVICE_CLASS_PLUG, DEVICE_CLASS_POWER as DEVICE_CLASS_POWER, DEVICE_CLASS_PRESENCE as DEVICE_CLASS_PRESENCE, DEVICE_CLASS_PROBLEM as DEVICE_CLASS_PROBLEM, DEVICE_CLASS_SAFETY as DEVICE_CLASS_SAFETY, DEVICE_CLASS_SMOKE as DEVICE_CLASS_SMOKE, DEVICE_CLASS_SOUND as DEVICE_CLASS_SOUND, DEVICE_CLASS_VIBRATION as DEVICE_CLASS_VIBRATION, DEVICE_CLASS_WINDOW as DEVICE_CLASS_WINDOW, DOMAIN as DOMAIN
from homeassistant.components.device_automation.const import CONF_IS_OFF as CONF_IS_OFF, CONF_IS_ON as CONF_IS_ON
from homeassistant.const import CONF_ENTITY_ID as CONF_ENTITY_ID, CONF_FOR as CONF_FOR, CONF_TYPE as CONF_TYPE
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
from homeassistant.helpers import condition as condition
from homeassistant.helpers.entity import get_device_class as get_device_class
from homeassistant.helpers.entity_registry import async_entries_for_device as async_entries_for_device, async_get_registry as async_get_registry
from homeassistant.helpers.typing import ConfigType as ConfigType
from typing import Any

DEVICE_CLASS_NONE: str
CONF_IS_BAT_LOW: str
CONF_IS_NOT_BAT_LOW: str
CONF_IS_CHARGING: str
CONF_IS_NOT_CHARGING: str
CONF_IS_COLD: str
CONF_IS_NOT_COLD: str
CONF_IS_CONNECTED: str
CONF_IS_NOT_CONNECTED: str
CONF_IS_GAS: str
CONF_IS_NO_GAS: str
CONF_IS_HOT: str
CONF_IS_NOT_HOT: str
CONF_IS_LIGHT: str
CONF_IS_NO_LIGHT: str
CONF_IS_LOCKED: str
CONF_IS_NOT_LOCKED: str
CONF_IS_MOIST: str
CONF_IS_NOT_MOIST: str
CONF_IS_MOTION: str
CONF_IS_NO_MOTION: str
CONF_IS_MOVING: str
CONF_IS_NOT_MOVING: str
CONF_IS_OCCUPIED: str
CONF_IS_NOT_OCCUPIED: str
CONF_IS_PLUGGED_IN: str
CONF_IS_NOT_PLUGGED_IN: str
CONF_IS_POWERED: str
CONF_IS_NOT_POWERED: str
CONF_IS_PRESENT: str
CONF_IS_NOT_PRESENT: str
CONF_IS_PROBLEM: str
CONF_IS_NO_PROBLEM: str
CONF_IS_UNSAFE: str
CONF_IS_NOT_UNSAFE: str
CONF_IS_SMOKE: str
CONF_IS_NO_SMOKE: str
CONF_IS_SOUND: str
CONF_IS_NO_SOUND: str
CONF_IS_VIBRATION: str
CONF_IS_NO_VIBRATION: str
CONF_IS_OPEN: str
CONF_IS_NOT_OPEN: str
IS_ON: Any
IS_OFF: Any
ENTITY_CONDITIONS: Any
CONDITION_SCHEMA: Any

async def async_get_conditions(hass: HomeAssistant, device_id: str) -> list[dict[str, str]]: ...
def async_condition_from_config(config: ConfigType, config_validation: bool) -> condition.ConditionCheckerType: ...
async def async_get_condition_capabilities(hass: HomeAssistant, config: dict) -> dict: ...
