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

class QueryStub:
    """Query defines the gRPC querier service."""

    def __init__(self, channel: grpc.Channel) -> None: ...
    Params: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.query_pb2.QueryParamsRequest,
        osmosis.tokenfactory.v1beta1.query_pb2.QueryParamsResponse,
    ]
    """Params defines a gRPC query method that returns the tokenfactory module's
    parameters.
    """
    DenomAuthorityMetadata: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomAuthorityMetadataRequest,
        osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomAuthorityMetadataResponse,
    ]
    """DenomAuthorityMetadata defines a gRPC query method for fetching
    DenomAuthorityMetadata for a particular denom.
    """
    DenomsFromCreator: grpc.UnaryUnaryMultiCallable[
        osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomsFromCreatorRequest,
        osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomsFromCreatorResponse,
    ]
    """DenomsFromCreator defines a gRPC query method for fetching all
    denominations created by a specific admin/creator.
    """

class QueryServicer(metaclass=abc.ABCMeta):
    """Query defines the gRPC querier service."""

    @abc.abstractmethod
    def Params(
        self,
        request: osmosis.tokenfactory.v1beta1.query_pb2.QueryParamsRequest,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.query_pb2.QueryParamsResponse:
        """Params defines a gRPC query method that returns the tokenfactory module's
        parameters.
        """
    @abc.abstractmethod
    def DenomAuthorityMetadata(
        self,
        request: osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomAuthorityMetadataRequest,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomAuthorityMetadataResponse:
        """DenomAuthorityMetadata defines a gRPC query method for fetching
        DenomAuthorityMetadata for a particular denom.
        """
    @abc.abstractmethod
    def DenomsFromCreator(
        self,
        request: osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomsFromCreatorRequest,
        context: grpc.ServicerContext,
    ) -> osmosis.tokenfactory.v1beta1.query_pb2.QueryDenomsFromCreatorResponse:
        """DenomsFromCreator defines a gRPC query method for fetching all
        denominations created by a specific admin/creator.
        """

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