from . import ToloSaunaCoordinatorEntity as ToloSaunaCoordinatorEntity, ToloSaunaUpdateCoordinator as ToloSaunaUpdateCoordinator
from .const import DEFAULT_MAX_HUMIDITY as DEFAULT_MAX_HUMIDITY, DEFAULT_MAX_TEMP as DEFAULT_MAX_TEMP, DEFAULT_MIN_HUMIDITY as DEFAULT_MIN_HUMIDITY, DEFAULT_MIN_TEMP as DEFAULT_MIN_TEMP, DOMAIN as DOMAIN
from homeassistant.components.climate import ClimateEntity as ClimateEntity, HVAC_MODE_HEAT as HVAC_MODE_HEAT, HVAC_MODE_OFF as HVAC_MODE_OFF
from homeassistant.components.climate.const import CURRENT_HVAC_DRY as CURRENT_HVAC_DRY, CURRENT_HVAC_HEAT as CURRENT_HVAC_HEAT, CURRENT_HVAC_IDLE as CURRENT_HVAC_IDLE, CURRENT_HVAC_OFF as CURRENT_HVAC_OFF, FAN_OFF as FAN_OFF, FAN_ON as FAN_ON, HVAC_MODE_DRY as HVAC_MODE_DRY, SUPPORT_FAN_MODE as SUPPORT_FAN_MODE, SUPPORT_TARGET_HUMIDITY as SUPPORT_TARGET_HUMIDITY, SUPPORT_TARGET_TEMPERATURE as SUPPORT_TARGET_TEMPERATURE
from homeassistant.config_entries import ConfigEntry as ConfigEntry
from homeassistant.const import ATTR_TEMPERATURE as ATTR_TEMPERATURE, PRECISION_WHOLE as PRECISION_WHOLE, TEMP_CELSIUS as TEMP_CELSIUS
from homeassistant.core import HomeAssistant as HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback as AddEntitiesCallback
from typing import Any

async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback) -> None: ...

class SaunaClimate(ToloSaunaCoordinatorEntity, ClimateEntity):
    _attr_fan_modes: Any
    _attr_hvac_modes: Any
    _attr_max_humidity: Any
    _attr_max_temp: Any
    _attr_min_humidity: Any
    _attr_min_temp: Any
    _attr_name: str
    _attr_precision: Any
    _attr_supported_features: Any
    _attr_target_temperature_step: int
    _attr_temperature_unit: Any
    _attr_unique_id: Any
    def __init__(self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry) -> None: ...
    @property
    def current_temperature(self) -> int: ...
    @property
    def current_humidity(self) -> int: ...
    @property
    def target_temperature(self) -> int: ...
    @property
    def target_humidity(self) -> int: ...
    @property
    def hvac_mode(self) -> str: ...
    @property
    def hvac_action(self) -> Union[str, None]: ...
    @property
    def fan_mode(self) -> str: ...
    def set_hvac_mode(self, hvac_mode: str) -> None: ...
    def set_fan_mode(self, fan_mode: str) -> None: ...
    def set_humidity(self, humidity: float) -> None: ...
    def set_temperature(self, **kwargs: Any) -> None: ...
    def _set_power_and_fan(self, power_on: bool, fan_on: bool) -> None: ...
