from .core import GattError as GattError, ble as ble, register_irq_handler as register_irq_handler from .device import DeviceConnection as DeviceConnection from _typeshed import Incomplete _IRQ_GATTC_SERVICE_RESULT: Incomplete _IRQ_GATTC_SERVICE_DONE: Incomplete _IRQ_GATTC_CHARACTERISTIC_RESULT: Incomplete _IRQ_GATTC_CHARACTERISTIC_DONE: Incomplete _IRQ_GATTC_DESCRIPTOR_RESULT: Incomplete _IRQ_GATTC_DESCRIPTOR_DONE: Incomplete _IRQ_GATTC_READ_RESULT: Incomplete _IRQ_GATTC_READ_DONE: Incomplete _IRQ_GATTC_WRITE_DONE: Incomplete _IRQ_GATTC_NOTIFY: Incomplete _IRQ_GATTC_INDICATE: Incomplete _CCCD_UUID: Incomplete _CCCD_NOTIFY: Incomplete _CCCD_INDICATE: Incomplete _FLAG_READ: Incomplete _FLAG_WRITE_NO_RESPONSE: Incomplete _FLAG_WRITE: Incomplete _FLAG_NOTIFY: Incomplete _FLAG_INDICATE: Incomplete def _client_irq(event, data) -> None: ... class ClientDiscover: _connection: Incomplete _queue: Incomplete _status: Incomplete _event: Incomplete _disc_type: Incomplete _parent: Incomplete _timeout_ms: Incomplete _args: Incomplete def __init__(self, connection, disc_type, parent, timeout_ms, *args) -> None: ... async def _start(self) -> None: ... def __aiter__(self): ... async def __anext__(self): ... def _discover_result(conn_handle, *args) -> None: ... def _discover_done(conn_handle, status) -> None: ... class ClientService: connection: Incomplete _start_handle: Incomplete _end_handle: Incomplete uuid: Incomplete def __init__(self, connection, start_handle, end_handle, uuid) -> None: ... def __str__(self) -> str: ... async def characteristic(self, uuid, timeout_ms: int = ...): ... def characteristics(self, uuid: Incomplete | None = ..., timeout_ms: int = ...): ... def _start_discovery(connection, uuid: Incomplete | None = ...) -> None: ... class BaseClientCharacteristic: _value_handle: Incomplete properties: Incomplete uuid: Incomplete _read_event: Incomplete _read_data: Incomplete _read_status: Incomplete _write_event: Incomplete _write_status: Incomplete def __init__(self, value_handle, properties, uuid) -> None: ... def _register_with_connection(self) -> None: ... def _find(conn_handle, value_handle): ... def _check(self, flag) -> None: ... async def read(self, timeout_ms: int = ...): ... def _read_result(conn_handle, value_handle, data) -> None: ... def _read_done(conn_handle, value_handle, status) -> None: ... async def write(self, data, response: Incomplete | None = ..., timeout_ms: int = ...) -> None: ... def _write_done(conn_handle, value_handle, status) -> None: ... class ClientCharacteristic(BaseClientCharacteristic): service: Incomplete connection: Incomplete _end_handle: Incomplete _notify_event: Incomplete _notify_queue: Incomplete _indicate_event: Incomplete _indicate_queue: Incomplete def __init__(self, service, end_handle, value_handle, properties, uuid) -> None: ... def __str__(self) -> str: ... def _connection(self): ... async def descriptor(self, uuid, timeout_ms: int = ...): ... def descriptors(self, timeout_ms: int = ...): ... def _start_discovery(service, uuid: Incomplete | None = ...) -> None: ... async def _notified_indicated(self, queue, event, timeout_ms): ... async def notified(self, timeout_ms: Incomplete | None = ...): ... def _on_notify_indicate(self, queue, event, data) -> None: ... def _on_notify(conn_handle, value_handle, notify_data) -> None: ... async def indicated(self, timeout_ms: Incomplete | None = ...): ... def _on_indicate(conn_handle, value_handle, indicate_data) -> None: ... async def subscribe(self, notify: bool = ..., indicate: bool = ...) -> None: ... class ClientDescriptor(BaseClientCharacteristic): characteristic: Incomplete def __init__(self, characteristic, dsc_handle, uuid) -> None: ... def __str__(self) -> str: ... def _connection(self): ... def _start_discovery(characteristic, uuid: Incomplete | None = ...) -> None: ...