"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
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 AtomicLiteral(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STRING_LITERAL_FIELD_NUMBER: builtins.int
    INT_LITERAL_FIELD_NUMBER: builtins.int
    BOOL_LITERAL_FIELD_NUMBER: builtins.int
    DOUBLE_LITERAL_FIELD_NUMBER: builtins.int
    TIMESTAMP_LITERAL_FIELD_NUMBER: builtins.int
    string_literal: builtins.str
    int_literal: builtins.int
    """we treat all ints as 64 - no int/long distinction"""
    bool_literal: builtins.bool
    double_literal: builtins.float
    """not distinguishing double vs float"""
    @property
    def timestamp_literal(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        string_literal: builtins.str = ...,
        int_literal: builtins.int = ...,
        bool_literal: builtins.bool = ...,
        double_literal: builtins.float = ...,
        timestamp_literal: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bool_literal", b"bool_literal", "double_literal", b"double_literal", "int_literal", b"int_literal", "literal_type", b"literal_type", "string_literal", b"string_literal", "timestamp_literal", b"timestamp_literal"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bool_literal", b"bool_literal", "double_literal", b"double_literal", "int_literal", b"int_literal", "literal_type", b"literal_type", "string_literal", b"string_literal", "timestamp_literal", b"timestamp_literal"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["literal_type", b"literal_type"]) -> typing_extensions.Literal["string_literal", "int_literal", "bool_literal", "double_literal", "timestamp_literal"] | None: ...

global___AtomicLiteral = AtomicLiteral

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

    OR_FIELD_NUMBER: builtins.int
    AND_FIELD_NUMBER: builtins.int
    EQ_FIELD_NUMBER: builtins.int
    NE_FIELD_NUMBER: builtins.int
    GT_FIELD_NUMBER: builtins.int
    GTE_FIELD_NUMBER: builtins.int
    LT_FIELD_NUMBER: builtins.int
    LTE_FIELD_NUMBER: builtins.int
    LIKE_FIELD_NUMBER: builtins.int
    IS_NULL_FIELD_NUMBER: builtins.int
    IS_NOT_NULL_FIELD_NUMBER: builtins.int
    @property
    def eq(self) -> global___Equal: ...
    @property
    def ne(self) -> global___NotEqual: ...
    @property
    def gt(self) -> global___GreaterThan: ...
    @property
    def gte(self) -> global___GreaterThanEqual: ...
    @property
    def lt(self) -> global___LessThan: ...
    @property
    def lte(self) -> global___LessThanEqual: ...
    @property
    def like(self) -> global___Like: ...
    @property
    def is_null(self) -> global___IsNull: ...
    @property
    def is_not_null(self) -> global___IsNotNull: ...
    def __init__(
        self,
        *,
        eq: global___Equal | None = ...,
        ne: global___NotEqual | None = ...,
        gt: global___GreaterThan | None = ...,
        gte: global___GreaterThanEqual | None = ...,
        lt: global___LessThan | None = ...,
        lte: global___LessThanEqual | None = ...,
        like: global___Like | None = ...,
        is_null: global___IsNull | None = ...,
        is_not_null: global___IsNotNull | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["and", b"and", "eq", b"eq", "filter_case", b"filter_case", "gt", b"gt", "gte", b"gte", "is_not_null", b"is_not_null", "is_null", b"is_null", "like", b"like", "lt", b"lt", "lte", b"lte", "ne", b"ne", "or", b"or"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["and", b"and", "eq", b"eq", "filter_case", b"filter_case", "gt", b"gt", "gte", b"gte", "is_not_null", b"is_not_null", "is_null", b"is_null", "like", b"like", "lt", b"lt", "lte", b"lte", "ne", b"ne", "or", b"or"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["filter_case", b"filter_case"]) -> typing_extensions.Literal["or", "and", "eq", "ne", "gt", "gte", "lt", "lte", "like", "is_null", "is_not_null"] | None: ...

global___Filter = Filter

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

    LEFT_FIELD_NUMBER: builtins.int
    RIGHT_FIELD_NUMBER: builtins.int
    @property
    def left(self) -> global___Filter: ...
    @property
    def right(self) -> global___Filter: ...
    def __init__(
        self,
        *,
        left: global___Filter | None = ...,
        right: global___Filter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["left", b"left", "right", b"right"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["left", b"left", "right", b"right"]) -> None: ...

global___Or = Or

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

    LEFT_FIELD_NUMBER: builtins.int
    RIGHT_FIELD_NUMBER: builtins.int
    @property
    def left(self) -> global___Filter: ...
    @property
    def right(self) -> global___Filter: ...
    def __init__(
        self,
        *,
        left: global___Filter | None = ...,
        right: global___Filter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["left", b"left", "right", b"right"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["left", b"left", "right", b"right"]) -> None: ...

global___And = And

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___Equal = Equal

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___NotEqual = NotEqual

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___GreaterThan = GreaterThan

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___GreaterThanEqual = GreaterThanEqual

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___LessThan = LessThan

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

    PROPERTY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    property: builtins.str
    @property
    def value(self) -> global___AtomicLiteral: ...
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        value: global___AtomicLiteral | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property", "value", b"value"]) -> None: ...

global___LessThanEqual = LessThanEqual

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

    PROPERTY_FIELD_NUMBER: builtins.int
    PATTERN_FIELD_NUMBER: builtins.int
    property: builtins.str
    pattern: builtins.str
    def __init__(
        self,
        *,
        property: builtins.str = ...,
        pattern: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pattern", b"pattern", "property", b"property"]) -> None: ...

global___Like = Like

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

    PROPERTY_FIELD_NUMBER: builtins.int
    property: builtins.str
    def __init__(
        self,
        *,
        property: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property"]) -> None: ...

global___IsNull = IsNull

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

    PROPERTY_FIELD_NUMBER: builtins.int
    property: builtins.str
    def __init__(
        self,
        *,
        property: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["property", b"property"]) -> None: ...

global___IsNotNull = IsNotNull
