from . import const as const
from homeassistant.core import Event as Event
from homeassistant.util.json import find_paths_unserializable_data as find_paths_unserializable_data, format_unserializable_data as format_unserializable_data
from homeassistant.util.yaml.loader import JSON_TYPE as JSON_TYPE
from typing import Any, Final

_LOGGER: Final[Any]
MINIMAL_MESSAGE_SCHEMA: Final[Any]
BASE_COMMAND_MESSAGE_SCHEMA: Final[Any]
IDEN_TEMPLATE: Final[str]
IDEN_JSON_TEMPLATE: Final[str]

def result_message(iden: int, result: Any = ...) -> dict[str, Any]: ...
def error_message(iden: Union[int, None], code: str, message: str) -> dict[str, Any]: ...
def event_message(iden: JSON_TYPE, event: Any) -> dict[str, Any]: ...
def cached_event_message(iden: int, event: Event) -> str: ...
def _cached_event_message(event: Event) -> str: ...
def message_to_json(message: dict[str, Any]) -> str: ...
