"""
Module: 'aioble.client' on micropython-v1.25.0-rp2-RPI_PICO2_W
"""

# MCU: {'build': '', 'ver': '1.25.0', 'version': '1.25.0', 'port': 'rp2', 'board': 'RPI_PICO2_W', 'mpy': 'v6.3', 'family': 'micropython', 'cpu': 'RP2350', 'arch': 'armv7emsp'}
# Stubber: v1.24.0
from __future__ import annotations
from typing import Generator
from _typeshed import Incomplete

def register_irq_handler(*args, **kwargs) -> Incomplete: ...
def _client_irq(*args, **kwargs) -> Incomplete: ...
def const(*args, **kwargs) -> Incomplete: ...

class DeviceConnection:
    _connected: dict = {}
    def is_connected(self, *args, **kwargs) -> Incomplete: ...
    def _run_task(self, *args, **kwargs) -> Incomplete: ...
    def services(self, *args, **kwargs) -> Incomplete: ...
    def timeout(self, *args, **kwargs) -> Incomplete: ...
    def device_task(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def l2cap_connect(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def pair(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def service(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def l2cap_accept(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def disconnected(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def exchange_mtu(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def disconnect(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...

class GattError(Exception): ...

class ClientService:
    def characteristics(self, *args, **kwargs) -> Incomplete: ...
    def _start_discovery(self, *args, **kwargs) -> Incomplete: ...
    def characteristic(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...

ble: Incomplete  ## <class 'BLE'> = <BLE>

class ClientDiscover:
    def _discover_result(self, *args, **kwargs) -> Incomplete: ...
    def _discover_done(self, *args, **kwargs) -> Incomplete: ...
    def _start(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...

class deque:
    def pop(self, *args, **kwargs) -> Incomplete: ...
    def appendleft(self, *args, **kwargs) -> Incomplete: ...
    def popleft(self, *args, **kwargs) -> Incomplete: ...
    def extend(self, *args, **kwargs) -> Incomplete: ...
    def append(self, *args, **kwargs) -> Incomplete: ...
    def __init__(self, *argv, **kwargs) -> None: ...

class ClientDescriptor:
    def _read_result(self, *args, **kwargs) -> Incomplete: ...
    def _read_done(self, *args, **kwargs) -> Incomplete: ...
    def _write_done(self, *args, **kwargs) -> Incomplete: ...
    def _register_with_connection(self, *args, **kwargs) -> Incomplete: ...
    def _start_discovery(self, *args, **kwargs) -> Incomplete: ...
    def _check(self, *args, **kwargs) -> Incomplete: ...
    def _find(self, *args, **kwargs) -> Incomplete: ...
    def _connection(self, *args, **kwargs) -> Incomplete: ...
    def write(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def read(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...

class BaseClientCharacteristic:
    def _write_done(self, *args, **kwargs) -> Incomplete: ...
    def _read_done(self, *args, **kwargs) -> Incomplete: ...
    def _read_result(self, *args, **kwargs) -> Incomplete: ...
    def _register_with_connection(self, *args, **kwargs) -> Incomplete: ...
    def _find(self, *args, **kwargs) -> Incomplete: ...
    def _check(self, *args, **kwargs) -> Incomplete: ...
    def write(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def read(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...

class ClientCharacteristic:
    def _on_notify(self, *args, **kwargs) -> Incomplete: ...
    def _register_with_connection(self, *args, **kwargs) -> Incomplete: ...
    def _on_indicate(self, *args, **kwargs) -> Incomplete: ...
    def _read_result(self, *args, **kwargs) -> Incomplete: ...
    def _on_notify_indicate(self, *args, **kwargs) -> Incomplete: ...
    def _read_done(self, *args, **kwargs) -> Incomplete: ...
    def _start_discovery(self, *args, **kwargs) -> Incomplete: ...
    def descriptors(self, *args, **kwargs) -> Incomplete: ...
    def _write_done(self, *args, **kwargs) -> Incomplete: ...
    def _find(self, *args, **kwargs) -> Incomplete: ...
    def _check(self, *args, **kwargs) -> Incomplete: ...
    def _connection(self, *args, **kwargs) -> Incomplete: ...
    def subscribe(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def indicated(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def notified(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def descriptor(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def read(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def write(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def _notified_indicated(*args, **kwargs) -> Generator:  ## = <generator>
        ...

    def __init__(self, *argv, **kwargs) -> None: ...
