import pypck
from .const import CONF_ACKNOWLEDGE as CONF_ACKNOWLEDGE, CONF_DIM_MODE as CONF_DIM_MODE, CONF_DOMAIN_DATA as CONF_DOMAIN_DATA, CONF_SK_NUM_TRIES as CONF_SK_NUM_TRIES, CONF_TARGET_VALUE_LOCKED as CONF_TARGET_VALUE_LOCKED, CONF_TRANSITION as CONF_TRANSITION, DOMAIN as DOMAIN, PLATFORMS as PLATFORMS
from .helpers import AddressType as AddressType, LcnConfigEntry as LcnConfigEntry, LcnRuntimeData as LcnRuntimeData, async_update_config_entry as async_update_config_entry, generate_unique_id as generate_unique_id, purge_device_registry as purge_device_registry, register_lcn_address_devices as register_lcn_address_devices, register_lcn_host_device as register_lcn_host_device
from .services import async_setup_services as async_setup_services
from .websocket import register_panel_and_ws_api as register_panel_and_ws_api
from _typeshed import Incomplete
from homeassistant.const import CONF_DEVICE_ID as CONF_DEVICE_ID, CONF_DOMAIN as CONF_DOMAIN, CONF_ENTITIES as CONF_ENTITIES, CONF_IP_ADDRESS as CONF_IP_ADDRESS, CONF_PASSWORD as CONF_PASSWORD, CONF_PORT as CONF_PORT, CONF_RESOURCE as CONF_RESOURCE, CONF_USERNAME as CONF_USERNAME, Platform as Platform
from homeassistant.core import HomeAssistant as HomeAssistant, callback as callback
from homeassistant.exceptions import ConfigEntryNotReady as ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.typing import ConfigType as ConfigType

_LOGGER: Incomplete
CONFIG_SCHEMA: Incomplete

async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: ...
async def async_setup_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
async def async_migrate_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
async def async_migrate_entities(hass: HomeAssistant, config_entry: LcnConfigEntry) -> None: ...
async def async_unload_entry(hass: HomeAssistant, config_entry: LcnConfigEntry) -> bool: ...
def async_host_event_received(hass: HomeAssistant, config_entry: LcnConfigEntry, event: pypck.lcn_defs.LcnEvent) -> None: ...
def async_host_input_received(hass: HomeAssistant, config_entry: LcnConfigEntry, device_registry: dr.DeviceRegistry, inp: pypck.inputs.Input) -> None: ...
def _async_fire_access_control_event(hass: HomeAssistant, device: dr.DeviceEntry | None, address: AddressType, inp: pypck.inputs.ModStatusAccessControl) -> None: ...
def _async_fire_send_keys_event(hass: HomeAssistant, device: dr.DeviceEntry | None, address: AddressType, inp: pypck.inputs.ModSendKeysHost) -> None: ...
