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

import builtins
import sys

import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.message

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Message(google.protobuf.message.Message):
    """(-- api-linter: core::0146::any=disabled
    aip.dev/not-precedent: We want runtime extensibility for the body field --)
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    PROTOCOL_INSTANCE_ID_FIELD_NUMBER: builtins.int
    EVENT_ID_FIELD_NUMBER: builtins.int
    COMMAND_INDEX_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    id: builtins.str
    """An ID for this specific message."""
    protocol_instance_id: builtins.str
    """Identifies the specific instance of a protocol to which this message
    belongs.
    """
    event_id: builtins.int
    command_index: builtins.int
    @property
    def body(self) -> google.protobuf.any_pb2.Any:
        """The opaque data carried by this message. The protocol type can be
        extracted from the package name of the message carried inside the Any.
        """
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        protocol_instance_id: builtins.str = ...,
        event_id: builtins.int = ...,
        command_index: builtins.int = ...,
        body: google.protobuf.any_pb2.Any | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "body",
            b"body",
            "command_index",
            b"command_index",
            "event_id",
            b"event_id",
            "sequencing_id",
            b"sequencing_id",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "body",
            b"body",
            "command_index",
            b"command_index",
            "event_id",
            b"event_id",
            "id",
            b"id",
            "protocol_instance_id",
            b"protocol_instance_id",
            "sequencing_id",
            b"sequencing_id",
        ],
    ) -> None: ...
    def WhichOneof(
        self, oneof_group: typing_extensions.Literal["sequencing_id", b"sequencing_id"]
    ) -> typing_extensions.Literal["event_id", "command_index"] | None: ...

global___Message = Message
