"""Asynchronous Python client for BSBLAN."""

from .bsblan import BSBLAN, BSBLANConfig
from .constants import (
    UNIT_DEVICE_CLASS_MAP,
    UNIT_STATE_CLASS_MAP,
    HeatingCircuitStatus,
    HVACActionCategory,
    get_hvac_action_category,
)
from .exceptions import (
    BSBLANAuthError,
    BSBLANConnectionError,
    BSBLANError,
    BSBLANMalformedResponseError,
    BSBLANUnsupportedFeatureError,
    BSBLANVersionError,
)
from .models import (
    ApiVersion,
    DaySchedule,
    Device,
    DeviceTime,
    DHWSchedule,
    DHWTimeSwitchPrograms,
    EntityInfo,
    EntityValue,
    HeatingSchedule,
    HeatingTimeSwitchPrograms,
    HotWaterConfig,
    HotWaterSchedule,
    HotWaterState,
    Info,
    Sensor,
    SetHotWaterParam,
    State,
    StaticState,
    TimeSlot,
)

__all__ = [
    "BSBLAN",
    "UNIT_DEVICE_CLASS_MAP",
    "UNIT_STATE_CLASS_MAP",
    "ApiVersion",
    "BSBLANAuthError",
    "BSBLANConfig",
    "BSBLANConnectionError",
    "BSBLANError",
    "BSBLANMalformedResponseError",
    "BSBLANUnsupportedFeatureError",
    "BSBLANVersionError",
    "DHWSchedule",
    "DHWTimeSwitchPrograms",
    "DaySchedule",
    "Device",
    "DeviceTime",
    "EntityInfo",
    "EntityValue",
    "HVACActionCategory",
    "HeatingCircuitStatus",
    "HeatingSchedule",
    "HeatingTimeSwitchPrograms",
    "HotWaterConfig",
    "HotWaterSchedule",
    "HotWaterState",
    "Info",
    "Sensor",
    "SetHotWaterParam",
    "State",
    "StaticState",
    "TimeSlot",
    "get_hvac_action_category",
]
