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

class QueryStub:
    """Query defines the gRPC querier service."""
    def __init__(self, channel: grpc.Channel) -> None: ...
    Params: grpc.UnaryUnaryMultiCallable[
        stablecoin.query_pb2.QueryParamsRequest,
        stablecoin.query_pb2.QueryParamsResponse]
    """Parameters queries the parameters of the x/stablecoin module."""

    ModuleAccountBalances: grpc.UnaryUnaryMultiCallable[
        stablecoin.query_pb2.QueryModuleAccountBalances,
        stablecoin.query_pb2.QueryModuleAccountBalancesResponse]
    """ModuleAccountBalances queries the account balance of x/stablecoin."""

    CirculatingSupplies: grpc.UnaryUnaryMultiCallable[
        stablecoin.query_pb2.QueryCirculatingSupplies,
        stablecoin.query_pb2.QueryCirculatingSuppliesResponse]

    LiquidityRatioInfo: grpc.UnaryUnaryMultiCallable[
        stablecoin.query_pb2.QueryLiquidityRatioInfoRequest,
        stablecoin.query_pb2.QueryLiquidityRatioInfoResponse]


class QueryServicer(metaclass=abc.ABCMeta):
    """Query defines the gRPC querier service."""
    @abc.abstractmethod
    def Params(self,
        request: stablecoin.query_pb2.QueryParamsRequest,
        context: grpc.ServicerContext,
    ) -> stablecoin.query_pb2.QueryParamsResponse:
        """Parameters queries the parameters of the x/stablecoin module."""
        pass

    @abc.abstractmethod
    def ModuleAccountBalances(self,
        request: stablecoin.query_pb2.QueryModuleAccountBalances,
        context: grpc.ServicerContext,
    ) -> stablecoin.query_pb2.QueryModuleAccountBalancesResponse:
        """ModuleAccountBalances queries the account balance of x/stablecoin."""
        pass

    @abc.abstractmethod
    def CirculatingSupplies(self,
        request: stablecoin.query_pb2.QueryCirculatingSupplies,
        context: grpc.ServicerContext,
    ) -> stablecoin.query_pb2.QueryCirculatingSuppliesResponse: ...

    @abc.abstractmethod
    def LiquidityRatioInfo(self,
        request: stablecoin.query_pb2.QueryLiquidityRatioInfoRequest,
        context: grpc.ServicerContext,
    ) -> stablecoin.query_pb2.QueryLiquidityRatioInfoResponse: ...


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