"""
@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 typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    AND_PREDICATE_FIELD_NUMBER: builtins.int
    FIELD_VALUE_PREDICATE_FIELD_NUMBER: builtins.int
    @property
    def and_predicate(self) -> global___AndPredicate: ...
    @property
    def field_value_predicate(self) -> global___FieldValuePredicate: ...
    def __init__(
        self,
        *,
        and_predicate: global___AndPredicate | None = ...,
        field_value_predicate: global___FieldValuePredicate | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["and_predicate", b"and_predicate", "field_value_predicate", b"field_value_predicate", "predicate", b"predicate"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["and_predicate", b"and_predicate", "field_value_predicate", b"field_value_predicate", "predicate", b"predicate"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["predicate", b"predicate"]) -> typing.Literal["and_predicate", "field_value_predicate"] | None: ...

global___Predicate = Predicate

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

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

global___AndPredicate = AndPredicate

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

    FIELD_PATH_FIELD_NUMBER: builtins.int
    EXACT_FIELD_NUMBER: builtins.int
    PREFIX_FIELD_NUMBER: builtins.int
    SUFFIX_FIELD_NUMBER: builtins.int
    field_path: builtins.str
    exact: builtins.str
    """string representation of the value matches exactly to the given string"""
    prefix: builtins.str
    """value has given prefix"""
    suffix: builtins.str
    """value has given suffix"""
    def __init__(
        self,
        *,
        field_path: builtins.str = ...,
        exact: builtins.str = ...,
        prefix: builtins.str = ...,
        suffix: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["exact", b"exact", "prefix", b"prefix", "suffix", b"suffix", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["exact", b"exact", "field_path", b"field_path", "prefix", b"prefix", "suffix", b"suffix", "value", b"value"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["exact", "prefix", "suffix"] | None: ...

global___FieldValuePredicate = FieldValuePredicate
