"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Since: cosmos-sdk 0.43"""
import abc
import cosmos.feegrant.v1beta1.tx_pb2
import grpc

class MsgStub:
    """Msg defines the feegrant msg service."""

    def __init__(self, channel: grpc.Channel) -> None: ...
    GrantAllowance: grpc.UnaryUnaryMultiCallable[
        cosmos.feegrant.v1beta1.tx_pb2.MsgGrantAllowance,
        cosmos.feegrant.v1beta1.tx_pb2.MsgGrantAllowanceResponse,
    ]
    """GrantAllowance grants fee allowance to the grantee on the granter's
    account with the provided expiration time.
    """
    RevokeAllowance: grpc.UnaryUnaryMultiCallable[
        cosmos.feegrant.v1beta1.tx_pb2.MsgRevokeAllowance,
        cosmos.feegrant.v1beta1.tx_pb2.MsgRevokeAllowanceResponse,
    ]
    """RevokeAllowance revokes any fee allowance of granter's account that
    has been granted to the grantee.
    """

class MsgServicer(metaclass=abc.ABCMeta):
    """Msg defines the feegrant msg service."""

    @abc.abstractmethod
    def GrantAllowance(
        self,
        request: cosmos.feegrant.v1beta1.tx_pb2.MsgGrantAllowance,
        context: grpc.ServicerContext,
    ) -> cosmos.feegrant.v1beta1.tx_pb2.MsgGrantAllowanceResponse:
        """GrantAllowance grants fee allowance to the grantee on the granter's
        account with the provided expiration time.
        """
    @abc.abstractmethod
    def RevokeAllowance(
        self,
        request: cosmos.feegrant.v1beta1.tx_pb2.MsgRevokeAllowance,
        context: grpc.ServicerContext,
    ) -> cosmos.feegrant.v1beta1.tx_pb2.MsgRevokeAllowanceResponse:
        """RevokeAllowance revokes any fee allowance of granter's account that
        has been granted to the grantee.
        """

def add_MsgServicer_to_server(servicer: MsgServicer, server: grpc.Server) -> None: ...
