"""
@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 prodvana.proto.prodvana.events.events_pb2
import prodvana.proto.prodvana.events.types_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___ServiceLookup = ServiceLookup

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

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

global___ReleaseChannelLookup = ReleaseChannelLookup

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

    ROOT_DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    DESIRED_STATE_ID_FIELD_NUMBER: builtins.int
    SERVICE_FIELD_NUMBER: builtins.int
    RELEASE_CHANNEL_FIELD_NUMBER: builtins.int
    root_desired_state_id: builtins.str
    desired_state_id: builtins.str
    @property
    def service(self) -> global___ServiceLookup: ...
    @property
    def release_channel(self) -> global___ReleaseChannelLookup: ...
    def __init__(
        self,
        *,
        root_desired_state_id: builtins.str = ...,
        desired_state_id: builtins.str = ...,
        service: global___ServiceLookup | None = ...,
        release_channel: global___ReleaseChannelLookup | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["desired_state_id", b"desired_state_id", "lookup_oneof", b"lookup_oneof", "release_channel", b"release_channel", "root_desired_state_id", b"root_desired_state_id", "service", b"service"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["desired_state_id", b"desired_state_id", "lookup_oneof", b"lookup_oneof", "release_channel", b"release_channel", "root_desired_state_id", b"root_desired_state_id", "service", b"service"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["lookup_oneof", b"lookup_oneof"]) -> typing_extensions.Literal["root_desired_state_id", "desired_state_id", "service", "release_channel"] | None: ...

global___Lookup = Lookup

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

    LOOKUPS_FIELD_NUMBER: builtins.int
    TYPES_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    ORDER_BY_ASC_TIMESTAMP_FIELD_NUMBER: builtins.int
    USEOR_FIELD_NUMBER: builtins.int
    BEFORE_TIMESTAMP_FIELD_NUMBER: builtins.int
    AFTER_TIMESTAMP_FIELD_NUMBER: builtins.int
    @property
    def lookups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Lookup]: ...
    @property
    def types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[prodvana.proto.prodvana.events.types_pb2.EventType.ValueType]:
        """empty means to include all types"""
    page_token: builtins.str
    page_size: builtins.int
    order_by_asc_timestamp: builtins.bool
    useOr: builtins.bool
    @property
    def before_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def after_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        lookups: collections.abc.Iterable[global___Lookup] | None = ...,
        types: collections.abc.Iterable[prodvana.proto.prodvana.events.types_pb2.EventType.ValueType] | None = ...,
        page_token: builtins.str = ...,
        page_size: builtins.int = ...,
        order_by_asc_timestamp: builtins.bool = ...,
        useOr: builtins.bool = ...,
        before_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        after_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["after_timestamp", b"after_timestamp", "before_timestamp", b"before_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["after_timestamp", b"after_timestamp", "before_timestamp", b"before_timestamp", "lookups", b"lookups", "order_by_asc_timestamp", b"order_by_asc_timestamp", "page_size", b"page_size", "page_token", b"page_token", "types", b"types", "useOr", b"useOr"]) -> None: ...

global___GetEventsReq = GetEventsReq

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

    EVENTS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[prodvana.proto.prodvana.events.events_pb2.Event]: ...
    next_page_token: builtins.str
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[prodvana.proto.prodvana.events.events_pb2.Event] | None = ...,
        next_page_token: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["events", b"events", "next_page_token", b"next_page_token"]) -> None: ...

global___GetEventsResp = GetEventsResp
