"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Since: cosmos-sdk 0.43"""
import builtins
import collections.abc
import cosmos.authz.v1beta1.authz_pb2
import cosmos.base.query.v1beta1.pagination_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class QueryGrantsRequest(google.protobuf.message.Message):
    """QueryGrantsRequest is the request type for the Query/Grants RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GRANTER_FIELD_NUMBER: builtins.int
    GRANTEE_FIELD_NUMBER: builtins.int
    MSG_TYPE_URL_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    granter: builtins.str
    grantee: builtins.str
    msg_type_url: builtins.str
    """Optional, msg_type_url, when set, will query only grants matching given msg type."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an pagination for the request."""
    def __init__(
        self,
        *,
        granter: builtins.str = ...,
        grantee: builtins.str = ...,
        msg_type_url: builtins.str = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["grantee", b"grantee", "granter", b"granter", "msg_type_url", b"msg_type_url", "pagination", b"pagination"]) -> None: ...

global___QueryGrantsRequest = QueryGrantsRequest

@typing_extensions.final
class QueryGrantsResponse(google.protobuf.message.Message):
    """QueryGrantsResponse is the response type for the Query/Authorizations RPC method."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    GRANTS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def grants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.authz.v1beta1.authz_pb2.Grant]:
        """authorizations is a list of grants granted for grantee by granter."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines an pagination for the response."""
    def __init__(
        self,
        *,
        grants: collections.abc.Iterable[cosmos.authz.v1beta1.authz_pb2.Grant] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["grants", b"grants", "pagination", b"pagination"]) -> None: ...

global___QueryGrantsResponse = QueryGrantsResponse
