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

class MsgStub:
    """Msg defines the tokefactory module's gRPC message service."""

    def __init__(self, channel: grpc.Channel) -> None: ...
    CreateDenom: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgCreateDenom,
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgCreateDenomResponse,
    ]
    Mint: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgMint,
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgMintResponse,
    ]
    Burn: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgBurn,
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgBurnResponse,
    ]
    ChangeAdmin: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgChangeAdmin,
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgChangeAdminResponse,
    ]
    SetDenomMetadata: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgSetDenomMetadata,
        osmosis.tokenfactory.v1beta1.tx_pb2.MsgSetDenomMetadataResponse,
    ]

class MsgServicer(metaclass=abc.ABCMeta):
    """Msg defines the tokefactory module's gRPC message service."""

    @abc.abstractmethod
    def CreateDenom(
        self,
        request: osmosis.tokenfactory.v1beta1.tx_pb2.MsgCreateDenom,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.tx_pb2.MsgCreateDenomResponse: ...
    @abc.abstractmethod
    def Mint(
        self,
        request: osmosis.tokenfactory.v1beta1.tx_pb2.MsgMint,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.tx_pb2.MsgMintResponse: ...
    @abc.abstractmethod
    def Burn(
        self,
        request: osmosis.tokenfactory.v1beta1.tx_pb2.MsgBurn,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.tx_pb2.MsgBurnResponse: ...
    @abc.abstractmethod
    def ChangeAdmin(
        self,
        request: osmosis.tokenfactory.v1beta1.tx_pb2.MsgChangeAdmin,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.tx_pb2.MsgChangeAdminResponse: ...
    @abc.abstractmethod
    def SetDenomMetadata(
        self,
        request: osmosis.tokenfactory.v1beta1.tx_pb2.MsgSetDenomMetadata,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.tx_pb2.MsgSetDenomMetadataResponse: ...

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