"""
@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.timestamp_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class SearchFilter(google.protobuf.message.Message):
    """Represent a filter on logs"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOG_TEXT_FILTER_FIELD_NUMBER: builtins.int
    AND_OPERATOR_FILTER_FIELD_NUMBER: builtins.int
    LOG_EMITTING_TIME_FILTER_FIELD_NUMBER: builtins.int
    @property
    def log_text_filter(self) -> global___LogText:
        """filter by log message"""
    @property
    def and_operator_filter(self) -> global___AndOperatorFilter:
        """Concat filters by AND operation"""
    @property
    def log_emitting_time_filter(self) -> global___LogTimeFilter:
        """Filter by emitting time of logs"""
    def __init__(
        self,
        *,
        log_text_filter: global___LogText | None = ...,
        and_operator_filter: global___AndOperatorFilter | None = ...,
        log_emitting_time_filter: global___LogTimeFilter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["and_operator_filter", b"and_operator_filter", "filter", b"filter", "log_emitting_time_filter", b"log_emitting_time_filter", "log_text_filter", b"log_text_filter"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["and_operator_filter", b"and_operator_filter", "filter", b"filter", "log_emitting_time_filter", b"log_emitting_time_filter", "log_text_filter", b"log_text_filter"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["filter", b"filter"]) -> typing_extensions.Literal["log_text_filter", "and_operator_filter", "log_emitting_time_filter"] | None: ...

global___SearchFilter = SearchFilter

class LogText(google.protobuf.message.Message):
    """Filter by the text of the log"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONTAINS_FIELD_NUMBER: builtins.int
    contains: builtins.str
    """Contains filter - matches parts of text"""
    def __init__(
        self,
        *,
        contains: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["contains", b"contains"]) -> None: ...

global___LogText = LogText

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

    AFTER_TIME_FIELD_NUMBER: builtins.int
    BEFORE_TIME_FIELD_NUMBER: builtins.int
    @property
    def after_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Filter log emitted after a timestamp"""
    @property
    def before_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Filter log emitted before a timestamp"""
    def __init__(
        self,
        *,
        after_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        before_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["after_time", b"after_time", "before_time", b"before_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["after_time", b"after_time", "before_time", b"before_time"]) -> None: ...

global___LogTimeFilter = LogTimeFilter

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

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

global___AndOperatorFilter = AndOperatorFilter
