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

Protocol Buffers describing any Interactive Beam specific protos.

TestStreamFileHeader: A record written at the top of a cached of TestStream
                      events. This is used as metadata for the entire
                      stream.
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import org.apache.beam.model.pipeline.v1.beam_runner_api_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class TestStreamFileHeader(google.protobuf.message.Message):
    """The first record. This contains metadata about the stream and how to
    properly process it.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TAG_FIELD_NUMBER: builtins.int
    tag: builtins.str
    """The PCollection tag this stream is associated with."""
    def __init__(
        self,
        *,
        tag: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["tag", b"tag"]) -> None: ...

global___TestStreamFileHeader = TestStreamFileHeader

@typing_extensions.final
class TestStreamFileRecord(google.protobuf.message.Message):
    """A record is a recorded element that a source produced. Its function is to
    give enough information to create a faithful recreation of the original
    stream of data.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RECORDED_EVENT_FIELD_NUMBER: builtins.int
    @property
    def recorded_event(self) -> org.apache.beam.model.pipeline.v1.beam_runner_api_pb2.TestStreamPayload.Event:
        """The recorded event from an element stream."""
    def __init__(
        self,
        *,
        recorded_event: org.apache.beam.model.pipeline.v1.beam_runner_api_pb2.TestStreamPayload.Event | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["recorded_event", b"recorded_event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["recorded_event", b"recorded_event"]) -> None: ...

global___TestStreamFileRecord = TestStreamFileRecord
