"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    def __init__(
        self,
    ) -> None: ...

global___Empty = Empty

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

    MESSAGE_FIELD_NUMBER: builtins.int
    message: builtins.str
    def __init__(
        self,
        *,
        message: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ...

global___Message = Message

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

    ID_FIELD_NUMBER: builtins.int
    DETAIL_LEVEL_FIELD_NUMBER: builtins.int
    INCLUDE_DELETED_FIELD_NUMBER: builtins.int
    id: builtins.str
    detail_level: builtins.int
    include_deleted: builtins.bool
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        detail_level: builtins.int | None = ...,
        include_deleted: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_detail_level", b"_detail_level", "_include_deleted", b"_include_deleted", "detail_level", b"detail_level", "include_deleted", b"include_deleted"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_detail_level", b"_detail_level", "_include_deleted", b"_include_deleted", "detail_level", b"detail_level", "id", b"id", "include_deleted", b"include_deleted"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_detail_level", b"_detail_level"]) -> typing.Literal["detail_level"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_include_deleted", b"_include_deleted"]) -> typing.Literal["include_deleted"] | None: ...

global___Read = Read

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

    PAGE_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    BATCH_SIZE_FIELD_NUMBER: builtins.int
    QUERY_PARAMETERS_FIELD_NUMBER: builtins.int
    INCLUDE_DELETED_FIELD_NUMBER: builtins.int
    DETAIL_LEVEL_FIELD_NUMBER: builtins.int
    SORT_FIELD_NUMBER: builtins.int
    page: builtins.int
    limit: builtins.int
    batch_size: builtins.int
    query_parameters: builtins.str
    include_deleted: builtins.bool
    detail_level: builtins.int
    sort: builtins.str
    def __init__(
        self,
        *,
        page: builtins.int | None = ...,
        limit: builtins.int | None = ...,
        batch_size: builtins.int | None = ...,
        query_parameters: builtins.str | None = ...,
        include_deleted: builtins.bool | None = ...,
        detail_level: builtins.int | None = ...,
        sort: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_batch_size", b"_batch_size", "_detail_level", b"_detail_level", "_include_deleted", b"_include_deleted", "_limit", b"_limit", "_page", b"_page", "_query_parameters", b"_query_parameters", "_sort", b"_sort", "batch_size", b"batch_size", "detail_level", b"detail_level", "include_deleted", b"include_deleted", "limit", b"limit", "page", b"page", "query_parameters", b"query_parameters", "sort", b"sort"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_batch_size", b"_batch_size", "_detail_level", b"_detail_level", "_include_deleted", b"_include_deleted", "_limit", b"_limit", "_page", b"_page", "_query_parameters", b"_query_parameters", "_sort", b"_sort", "batch_size", b"batch_size", "detail_level", b"detail_level", "include_deleted", b"include_deleted", "limit", b"limit", "page", b"page", "query_parameters", b"query_parameters", "sort", b"sort"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_batch_size", b"_batch_size"]) -> typing.Literal["batch_size"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_detail_level", b"_detail_level"]) -> typing.Literal["detail_level"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_include_deleted", b"_include_deleted"]) -> typing.Literal["include_deleted"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_limit", b"_limit"]) -> typing.Literal["limit"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_page", b"_page"]) -> typing.Literal["page"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_query_parameters", b"_query_parameters"]) -> typing.Literal["query_parameters"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_sort", b"_sort"]) -> typing.Literal["sort"] | None: ...

global___PaginationRequest = PaginationRequest

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

    PAGE_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    TOTAL_FIELD_NUMBER: builtins.int
    PAGES_FIELD_NUMBER: builtins.int
    page: builtins.int
    limit: builtins.int
    total: builtins.int
    pages: builtins.int
    def __init__(
        self,
        *,
        page: builtins.int = ...,
        limit: builtins.int = ...,
        total: builtins.int = ...,
        pages: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["limit", b"limit", "page", b"page", "pages", b"pages", "total", b"total"]) -> None: ...

global___Pagination = Pagination
