"""Heiman Connect - Core library for Heiman Home Assistant integration.

This module provides the core functionality for communicating with Heiman devices
via HTTP API and MQTT protocol.
"""

from .auth import HeimanAuth, HeimanOauthClient
from .http_client import HeimanHttpClient, HeimanCloudClient
from .mqtt_client import HeimanMqttClient
from .models import (
    HeimanDevice,
    HeimanHome,
    HeimanUser,
    DeviceProperty,
    AuthInfo,
)
from .exceptions import (
    HeimanException,
    HeimanAuthError,
    HeimanConnectionError,
    HeimanApiError,
    HeimanMQTTError,
)

__version__ = "1.0.0"

__all__ = [
    # Version
    "__version__",
    # Auth
    "HeimanAuth",
    "HeimanOauthClient",
    # HTTP Client
    "HeimanHttpClient",
    "HeimanCloudClient",
    # MQTT Client
    "HeimanMqttClient",
    # Models
    "HeimanDevice",
    "HeimanHome",
    "HeimanUser",
    "DeviceProperty",
    "AuthInfo",
    # Exceptions
    "HeimanException",
    "HeimanAuthError",
    "HeimanConnectionError",
    "HeimanApiError",
    "HeimanMQTTError",
]
