# This file is auto-generated by the CDP protocol generator.
# Do not edit this file manually as your changes will be overwritten.
# Generated from Chrome DevTools Protocol specifications.

"""CDP BluetoothEmulation Domain Events"""

from typing_extensions import NotRequired, TypedDict

from typing import TYPE_CHECKING

if TYPE_CHECKING:
    from .types import CharacteristicOperationType
    from .types import CharacteristicWriteType
    from .types import DescriptorOperationType
    from .types import GATTOperationType

"""Event for when a GATT operation of |type| to the peripheral with |address|
happened."""


class GattOperationReceivedEvent(TypedDict):
    address: "str"
    type: "GATTOperationType"


"""Event for when a characteristic operation of |type| to the characteristic
respresented by |characteristicId| happened. |data| and |writeType| is
expected to exist when |type| is write."""


class CharacteristicOperationReceivedEvent(TypedDict):
    characteristicId: "str"
    type: "CharacteristicOperationType"
    data: "NotRequired[str]"
    writeType: "NotRequired[CharacteristicWriteType]"


"""Event for when a descriptor operation of |type| to the descriptor
respresented by |descriptorId| happened. |data| is expected to exist when
|type| is write."""


class DescriptorOperationReceivedEvent(TypedDict):
    descriptorId: "str"
    type: "DescriptorOperationType"
    data: "NotRequired[str]"
