"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import cosmos.authz.v1beta1.query_pb2
import grpc

class QueryStub:
    """Query defines the gRPC querier service."""
    def __init__(self, channel: grpc.Channel) -> None: ...
    Grants: grpc.UnaryUnaryMultiCallable[
        cosmos.authz.v1beta1.query_pb2.QueryGrantsRequest,
        cosmos.authz.v1beta1.query_pb2.QueryGrantsResponse]
    """Returns list of `Authorization`, granted to the grantee by the granter."""

    GranterGrants: grpc.UnaryUnaryMultiCallable[
        cosmos.authz.v1beta1.query_pb2.QueryGranterGrantsRequest,
        cosmos.authz.v1beta1.query_pb2.QueryGranterGrantsResponse]
    """GranterGrants returns list of `GrantAuthorization`, granted by granter.

    Since: cosmos-sdk 0.45.2
    """

    GranteeGrants: grpc.UnaryUnaryMultiCallable[
        cosmos.authz.v1beta1.query_pb2.QueryGranteeGrantsRequest,
        cosmos.authz.v1beta1.query_pb2.QueryGranteeGrantsResponse]
    """GranteeGrants returns a list of `GrantAuthorization` by grantee.

    Since: cosmos-sdk 0.45.2
    """


class QueryServicer(metaclass=abc.ABCMeta):
    """Query defines the gRPC querier service."""
    @abc.abstractmethod
    def Grants(self,
        request: cosmos.authz.v1beta1.query_pb2.QueryGrantsRequest,
        context: grpc.ServicerContext,
    ) -> cosmos.authz.v1beta1.query_pb2.QueryGrantsResponse:
        """Returns list of `Authorization`, granted to the grantee by the granter."""
        pass

    @abc.abstractmethod
    def GranterGrants(self,
        request: cosmos.authz.v1beta1.query_pb2.QueryGranterGrantsRequest,
        context: grpc.ServicerContext,
    ) -> cosmos.authz.v1beta1.query_pb2.QueryGranterGrantsResponse:
        """GranterGrants returns list of `GrantAuthorization`, granted by granter.

        Since: cosmos-sdk 0.45.2
        """
        pass

    @abc.abstractmethod
    def GranteeGrants(self,
        request: cosmos.authz.v1beta1.query_pb2.QueryGranteeGrantsRequest,
        context: grpc.ServicerContext,
    ) -> cosmos.authz.v1beta1.query_pb2.QueryGranteeGrantsResponse:
        """GranteeGrants returns a list of `GrantAuthorization` by grantee.

        Since: cosmos-sdk 0.45.2
        """
        pass


def add_QueryServicer_to_server(servicer: QueryServicer, server: grpc.Server) -> None: ...
