"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import grpc
import lockup.v1.tx_pb2

class MsgStub:
    """Msg defines the Msg service."""
    def __init__(self, channel: grpc.Channel) -> None: ...
    LockTokens: grpc.UnaryUnaryMultiCallable[
        lockup.v1.tx_pb2.MsgLockTokens,
        lockup.v1.tx_pb2.MsgLockTokensResponse]
    """LockTokens lock tokens"""

    InitiateUnlock: grpc.UnaryUnaryMultiCallable[
        lockup.v1.tx_pb2.MsgInitiateUnlock,
        lockup.v1.tx_pb2.MsgInitiateUnlockResponse]

    Unlock: grpc.UnaryUnaryMultiCallable[
        lockup.v1.tx_pb2.MsgUnlock,
        lockup.v1.tx_pb2.MsgUnlockResponse]


class MsgServicer(metaclass=abc.ABCMeta):
    """Msg defines the Msg service."""
    @abc.abstractmethod
    def LockTokens(self,
        request: lockup.v1.tx_pb2.MsgLockTokens,
        context: grpc.ServicerContext,
    ) -> lockup.v1.tx_pb2.MsgLockTokensResponse:
        """LockTokens lock tokens"""
        pass

    @abc.abstractmethod
    def InitiateUnlock(self,
        request: lockup.v1.tx_pb2.MsgInitiateUnlock,
        context: grpc.ServicerContext,
    ) -> lockup.v1.tx_pb2.MsgInitiateUnlockResponse: ...

    @abc.abstractmethod
    def Unlock(self,
        request: lockup.v1.tx_pb2.MsgUnlock,
        context: grpc.ServicerContext,
    ) -> lockup.v1.tx_pb2.MsgUnlockResponse: ...


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