from __future__ import annotations from dataclasses import dataclass @dataclass(frozen=True) class DeviceInfo: device_id: str device_type: str connected: bool class DeviceAdapter: device_id: str device_type: str async def connect(self) -> None: raise NotImplementedError async def disconnect(self) -> None: raise NotImplementedError async def is_connected(self) -> bool: raise NotImplementedError