"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
import builtins as _builtins
import sys
import typing as _typing

if sys.version_info >= (3, 10):
    from typing import TypeAlias as _TypeAlias
else:
    from typing_extensions import TypeAlias as _TypeAlias

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class TransportEvent(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    @_typing.final
    class Event(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        @_typing.final
        class IcdcAlert(_message.Message):
            DESCRIPTOR: _descriptor.Descriptor

            class _Type:
                ValueType = _typing.NewType("ValueType", _builtins.int)
                V: _TypeAlias = ValueType  # noqa: Y015

            class _TypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[TransportEvent.Event.IcdcAlert._Type.ValueType], _builtins.type):
                DESCRIPTOR: _descriptor.EnumDescriptor
                NONE: TransportEvent.Event.IcdcAlert._Type.ValueType  # 0
                DETECTED: TransportEvent.Event.IcdcAlert._Type.ValueType  # 1
                CLEARED: TransportEvent.Event.IcdcAlert._Type.ValueType  # 2

            class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
            NONE: TransportEvent.Event.IcdcAlert.Type.ValueType  # 0
            DETECTED: TransportEvent.Event.IcdcAlert.Type.ValueType  # 1
            CLEARED: TransportEvent.Event.IcdcAlert.Type.ValueType  # 2

            TYPE_FIELD_NUMBER: _builtins.int
            type: Global___TransportEvent.Event.IcdcAlert.Type.ValueType
            def __init__(
                self,
                *,
                type: Global___TransportEvent.Event.IcdcAlert.Type.ValueType | None = ...,
            ) -> None: ...
            _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
            def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
            _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
            def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

        @_typing.final
        class DeviceChange(_message.Message):
            DESCRIPTOR: _descriptor.Descriptor

            class _Type:
                ValueType = _typing.NewType("ValueType", _builtins.int)
                V: _TypeAlias = ValueType  # noqa: Y015

            class _TypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[TransportEvent.Event.DeviceChange._Type.ValueType], _builtins.type):
                DESCRIPTOR: _descriptor.EnumDescriptor
                NONE: TransportEvent.Event.DeviceChange._Type.ValueType  # 0
                ADDED: TransportEvent.Event.DeviceChange._Type.ValueType  # 1
                REMOVED: TransportEvent.Event.DeviceChange._Type.ValueType  # 2
                REPLACED: TransportEvent.Event.DeviceChange._Type.ValueType  # 3

            class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
            NONE: TransportEvent.Event.DeviceChange.Type.ValueType  # 0
            ADDED: TransportEvent.Event.DeviceChange.Type.ValueType  # 1
            REMOVED: TransportEvent.Event.DeviceChange.Type.ValueType  # 2
            REPLACED: TransportEvent.Event.DeviceChange.Type.ValueType  # 3

            TYPE_FIELD_NUMBER: _builtins.int
            DEVICENAME_FIELD_NUMBER: _builtins.int
            DEVICEPLATFORM_FIELD_NUMBER: _builtins.int
            DEVICEMODEL_FIELD_NUMBER: _builtins.int
            type: Global___TransportEvent.Event.DeviceChange.Type.ValueType
            deviceName: _builtins.str
            devicePlatform: _builtins.str
            deviceModel: _builtins.str
            def __init__(
                self,
                *,
                type: Global___TransportEvent.Event.DeviceChange.Type.ValueType | None = ...,
                deviceName: _builtins.str | None = ...,
                devicePlatform: _builtins.str | None = ...,
                deviceModel: _builtins.str | None = ...,
            ) -> None: ...
            _HasFieldArgType: _TypeAlias = _typing.Literal["deviceModel", b"deviceModel", "deviceName", b"deviceName", "devicePlatform", b"devicePlatform", "type", b"type"]  # noqa: Y015
            def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
            _ClearFieldArgType: _TypeAlias = _typing.Literal["deviceModel", b"deviceModel", "deviceName", b"deviceName", "devicePlatform", b"devicePlatform", "type", b"type"]  # noqa: Y015
            def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

        DEVICECHANGE_FIELD_NUMBER: _builtins.int
        ICDCALERT_FIELD_NUMBER: _builtins.int
        @_builtins.property
        def deviceChange(self) -> Global___TransportEvent.Event.DeviceChange: ...
        @_builtins.property
        def icdcAlert(self) -> Global___TransportEvent.Event.IcdcAlert: ...
        def __init__(
            self,
            *,
            deviceChange: Global___TransportEvent.Event.DeviceChange | None = ...,
            icdcAlert: Global___TransportEvent.Event.IcdcAlert | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["deviceChange", b"deviceChange", "event", b"event", "icdcAlert", b"icdcAlert"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["deviceChange", b"deviceChange", "event", b"event", "icdcAlert", b"icdcAlert"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
        _WhichOneofReturnType_event: _TypeAlias = _typing.Literal["deviceChange", "icdcAlert"]  # noqa: Y015
        _WhichOneofArgType_event: _TypeAlias = _typing.Literal["event", b"event"]  # noqa: Y015
        def WhichOneof(self, oneof_group: _WhichOneofArgType_event) -> _WhichOneofReturnType_event | None: ...

    @_typing.final
    class Placeholder(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        class _Type:
            ValueType = _typing.NewType("ValueType", _builtins.int)
            V: _TypeAlias = ValueType  # noqa: Y015

        class _TypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[TransportEvent.Placeholder._Type.ValueType], _builtins.type):
            DESCRIPTOR: _descriptor.EnumDescriptor
            DECRYPTION_FAILURE: TransportEvent.Placeholder._Type.ValueType  # 1
            UNAVAILABLE_MESSAGE: TransportEvent.Placeholder._Type.ValueType  # 2

        class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
        DECRYPTION_FAILURE: TransportEvent.Placeholder.Type.ValueType  # 1
        UNAVAILABLE_MESSAGE: TransportEvent.Placeholder.Type.ValueType  # 2

        TYPE_FIELD_NUMBER: _builtins.int
        type: Global___TransportEvent.Placeholder.Type.ValueType
        def __init__(
            self,
            *,
            type: Global___TransportEvent.Placeholder.Type.ValueType | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["type", b"type"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    PLACEHOLDER_FIELD_NUMBER: _builtins.int
    EVENT_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def placeholder(self) -> Global___TransportEvent.Placeholder: ...
    @_builtins.property
    def event(self) -> Global___TransportEvent.Event: ...
    def __init__(
        self,
        *,
        placeholder: Global___TransportEvent.Placeholder | None = ...,
        event: Global___TransportEvent.Event | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["content", b"content", "event", b"event", "placeholder", b"placeholder"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["content", b"content", "event", b"event", "placeholder", b"placeholder"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_content: _TypeAlias = _typing.Literal["placeholder", "event"]  # noqa: Y015
    _WhichOneofArgType_content: _TypeAlias = _typing.Literal["content", b"content"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType_content) -> _WhichOneofReturnType_content | None: ...

Global___TransportEvent: _TypeAlias = TransportEvent  # noqa: Y015
