from .const import DOMAIN as DOMAIN
from .data import DEVICE_CONSUMPTION_SCHEMA as DEVICE_CONSUMPTION_SCHEMA, ENERGY_SOURCE_SCHEMA as ENERGY_SOURCE_SCHEMA, EnergyManager as EnergyManager, EnergyPreferencesUpdate as EnergyPreferencesUpdate, async_get_manager as async_get_manager
from homeassistant.components import websocket_api as websocket_api
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
from typing import Any

EnergyWebSocketCommandHandler: Any
AsyncEnergyWebSocketCommandHandler: Any

def async_setup(hass: HomeAssistant) -> None: ...
def _ws_with_manager(func: Any) -> websocket_api.WebSocketCommandHandler: ...
def ws_get_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, manager: EnergyManager) -> None: ...
async def ws_save_prefs(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict, manager: EnergyManager) -> None: ...
def ws_info(hass: HomeAssistant, connection: websocket_api.ActiveConnection, msg: dict) -> None: ...
