"""
@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 qwak.logging.log_filter_pb2
import qwak.logging.log_line_pb2
import qwak.logging.log_source_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class ReadLogsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SOURCE_FIELD_NUMBER: builtins.int
    BEFORE_OFFSET_FIELD_NUMBER: builtins.int
    AFTER_OFFSET_FIELD_NUMBER: builtins.int
    SEARCH_FILTER_FIELD_NUMBER: builtins.int
    MAX_NUMBER_OF_RESULTS_FIELD_NUMBER: builtins.int
    @property
    def source(self) -> qwak.logging.log_source_pb2.LogSource:
        """Source of the logs"""
    before_offset: builtins.str
    """Get logs before offset"""
    after_offset: builtins.str
    """Get logs after offset"""
    @property
    def search_filter(self) -> qwak.logging.log_filter_pb2.SearchFilter:
        """Search filter"""
    max_number_of_results: builtins.int
    """Maximum number of results"""
    def __init__(
        self,
        *,
        source: qwak.logging.log_source_pb2.LogSource | None = ...,
        before_offset: builtins.str = ...,
        after_offset: builtins.str = ...,
        search_filter: qwak.logging.log_filter_pb2.SearchFilter | None = ...,
        max_number_of_results: builtins.int = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["after_offset", b"after_offset", "before_offset", b"before_offset", "offset", b"offset", "search_filter", b"search_filter", "source", b"source"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["after_offset", b"after_offset", "before_offset", b"before_offset", "max_number_of_results", b"max_number_of_results", "offset", b"offset", "search_filter", b"search_filter", "source", b"source"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["offset", b"offset"]) -> typing_extensions.Literal["before_offset", "after_offset"] | None: ...

global___ReadLogsRequest = ReadLogsRequest

class ReadLogsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOG_LINE_FIELD_NUMBER: builtins.int
    FIRST_OFFSET_FIELD_NUMBER: builtins.int
    LAST_OFFSET_FIELD_NUMBER: builtins.int
    HAS_NEXT_PAGE_FIELD_NUMBER: builtins.int
    @property
    def log_line(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[qwak.logging.log_line_pb2.LogLine]:
        """Array of lines"""
    first_offset: builtins.str
    """The first log offset"""
    last_offset: builtins.str
    """The last log offset"""
    has_next_page: builtins.bool
    """Has next page"""
    def __init__(
        self,
        *,
        log_line: collections.abc.Iterable[qwak.logging.log_line_pb2.LogLine] | None = ...,
        first_offset: builtins.str = ...,
        last_offset: builtins.str = ...,
        has_next_page: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["first_offset", b"first_offset", "has_next_page", b"has_next_page", "last_offset", b"last_offset", "log_line", b"log_line"]) -> None: ...

global___ReadLogsResponse = ReadLogsResponse
