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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.struct_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class Stream(google.protobuf.message.Message):
    """//////////////////////////////////////////////////////////////////////"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EVENTS_FIELD_NUMBER: builtins.int
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event]: ...
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[global___Event] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["events", b"events"]) -> None: ...

global___Stream = Stream

@typing.final
class Event(google.protobuf.message.Message):
    """//////////////////////////////////////////////////////////////////////"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    RELATED_REQUEST_ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    related_request_id: builtins.str
    """This is of type `RequestId` which technically in Python
    can be either a `str` or an `int` but in practice the
    `related_request_id` appears to be a `str`, even though
    request IDs appear to be `int`. *sigh*
    """
    @property
    def message(self) -> google.protobuf.struct_pb2.Value: ...
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        message: google.protobuf.struct_pb2.Value | None = ...,
        related_request_id: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_related_request_id", b"_related_request_id", "message", b"message", "related_request_id", b"related_request_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_related_request_id", b"_related_request_id", "id", b"id", "message", b"message", "related_request_id", b"related_request_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_related_request_id", b"_related_request_id"]) -> typing.Literal["related_request_id"] | None: ...

global___Event = Event

@typing.final
class PutRequest(google.protobuf.message.Message):
    """//////////////////////////////////////////////////////////////////////"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EVENT_ID_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    RELATED_REQUEST_ID_FIELD_NUMBER: builtins.int
    event_id: builtins.str
    related_request_id: builtins.str
    """See comment in `Event` above re: using `string` here."""
    @property
    def message(self) -> google.protobuf.struct_pb2.Value: ...
    def __init__(
        self,
        *,
        event_id: builtins.str = ...,
        message: google.protobuf.struct_pb2.Value | None = ...,
        related_request_id: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_related_request_id", b"_related_request_id", "message", b"message", "related_request_id", b"related_request_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_related_request_id", b"_related_request_id", "event_id", b"event_id", "message", b"message", "related_request_id", b"related_request_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_related_request_id", b"_related_request_id"]) -> typing.Literal["related_request_id"] | None: ...

global___PutRequest = PutRequest

@typing.final
class PutResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___PutResponse = PutResponse

@typing.final
class ReplayRequest(google.protobuf.message.Message):
    """//////////////////////////////////////////////////////////////////////"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LAST_EVENT_ID_FIELD_NUMBER: builtins.int
    last_event_id: builtins.str
    def __init__(
        self,
        *,
        last_event_id: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_last_event_id", b"_last_event_id", "last_event_id", b"last_event_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_last_event_id", b"_last_event_id", "last_event_id", b"last_event_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_last_event_id", b"_last_event_id"]) -> typing.Literal["last_event_id"] | None: ...

global___ReplayRequest = ReplayRequest

@typing.final
class ReplayResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EVENTS_FIELD_NUMBER: builtins.int
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event]: ...
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[global___Event] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["events", b"events"]) -> None: ...

global___ReplayResponse = ReplayResponse
