"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
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 typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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: typing.Text
    grantee: typing.Text
    msg_type_url: typing.Text
    """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."""
        pass
    def __init__(self,
        *,
        granter: typing.Text = ...,
        grantee: typing.Text = ...,
        msg_type_url: typing.Text = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        ) -> 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

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."""
        pass
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines an pagination for the response."""
        pass
    def __init__(self,
        *,
        grants: typing.Optional[typing.Iterable[cosmos.authz.v1beta1.authz_pb2.Grant]] = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> 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

class QueryGranterGrantsRequest(google.protobuf.message.Message):
    """QueryGranterGrantsRequest is the request type for the Query/GranterGrants RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    GRANTER_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    granter: typing.Text
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an pagination for the request."""
        pass
    def __init__(self,
        *,
        granter: typing.Text = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination",b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["granter",b"granter","pagination",b"pagination"]) -> None: ...
global___QueryGranterGrantsRequest = QueryGranterGrantsRequest

class QueryGranterGrantsResponse(google.protobuf.message.Message):
    """QueryGranterGrantsResponse is the response type for the Query/GranterGrants 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.GrantAuthorization]:
        """grants is a list of grants granted by the granter."""
        pass
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines an pagination for the response."""
        pass
    def __init__(self,
        *,
        grants: typing.Optional[typing.Iterable[cosmos.authz.v1beta1.authz_pb2.GrantAuthorization]] = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> 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___QueryGranterGrantsResponse = QueryGranterGrantsResponse

class QueryGranteeGrantsRequest(google.protobuf.message.Message):
    """QueryGranteeGrantsRequest is the request type for the Query/IssuedGrants RPC method."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    GRANTEE_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    grantee: typing.Text
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an pagination for the request."""
        pass
    def __init__(self,
        *,
        grantee: typing.Text = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageRequest] = ...,
        ) -> 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","pagination",b"pagination"]) -> None: ...
global___QueryGranteeGrantsRequest = QueryGranteeGrantsRequest

class QueryGranteeGrantsResponse(google.protobuf.message.Message):
    """QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants 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.GrantAuthorization]:
        """grants is a list of grants granted to the grantee."""
        pass
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines an pagination for the response."""
        pass
    def __init__(self,
        *,
        grants: typing.Optional[typing.Iterable[cosmos.authz.v1beta1.authz_pb2.GrantAuthorization]] = ...,
        pagination: typing.Optional[cosmos.base.query.v1beta1.pagination_pb2.PageResponse] = ...,
        ) -> 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___QueryGranteeGrantsResponse = QueryGranteeGrantsResponse
