from .const import CONF_MOUNT_DIR as CONF_MOUNT_DIR, CONF_TYPE_OWSERVER as CONF_TYPE_OWSERVER, CONF_TYPE_SYSBUS as CONF_TYPE_SYSBUS
from .model import OWServerDeviceDescription as OWServerDeviceDescription
from homeassistant.config_entries import ConfigEntry as ConfigEntry
from homeassistant.const import CONF_HOST as CONF_HOST, CONF_PORT as CONF_PORT, CONF_TYPE as CONF_TYPE
from homeassistant.core import HomeAssistant as HomeAssistant
from homeassistant.exceptions import HomeAssistantError as HomeAssistantError
from typing import Any

DEVICE_COUPLERS: Any

class OneWireHub:
    hass: Any
    type: Any
    pi1proxy: Any
    owproxy: Any
    devices: Any
    def __init__(self, hass: HomeAssistant) -> None: ...
    async def connect(self, host: str, port: int) -> None: ...
    async def check_mount_dir(self, mount_dir: str) -> None: ...
    async def initialize(self, config_entry: ConfigEntry) -> None: ...
    async def discover_devices(self) -> None: ...
    def _discover_devices_owserver(self, path: str = ...) -> list[OWServerDeviceDescription]: ...

class CannotConnect(HomeAssistantError): ...
class InvalidPath(HomeAssistantError): ...
