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

from .query_pb2 import *
class QueryStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    Params:grpc.UnaryUnaryMultiCallable[
        global___QueryParamsRequest,
        global___QueryParamsResponse] = ...

    ValidatorOutstandingRewards:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorOutstandingRewardsRequest,
        global___QueryValidatorOutstandingRewardsResponse] = ...

    ValidatorCommission:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorCommissionRequest,
        global___QueryValidatorCommissionResponse] = ...

    ValidatorSlashes:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorSlashesRequest,
        global___QueryValidatorSlashesResponse] = ...

    DelegationRewards:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegationRewardsRequest,
        global___QueryDelegationRewardsResponse] = ...

    DelegationTotalRewards:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegationTotalRewardsRequest,
        global___QueryDelegationTotalRewardsResponse] = ...

    DelegatorValidators:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorValidatorsRequest,
        global___QueryDelegatorValidatorsResponse] = ...

    DelegatorWithdrawAddress:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorWithdrawAddressRequest,
        global___QueryDelegatorWithdrawAddressResponse] = ...

    CommunityPool:grpc.UnaryUnaryMultiCallable[
        global___QueryCommunityPoolRequest,
        global___QueryCommunityPoolResponse] = ...


class QueryServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def Params(self,
        request: global___QueryParamsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryParamsResponse: ...

    @abc.abstractmethod
    def ValidatorOutstandingRewards(self,
        request: global___QueryValidatorOutstandingRewardsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorOutstandingRewardsResponse: ...

    @abc.abstractmethod
    def ValidatorCommission(self,
        request: global___QueryValidatorCommissionRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorCommissionResponse: ...

    @abc.abstractmethod
    def ValidatorSlashes(self,
        request: global___QueryValidatorSlashesRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorSlashesResponse: ...

    @abc.abstractmethod
    def DelegationRewards(self,
        request: global___QueryDelegationRewardsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegationRewardsResponse: ...

    @abc.abstractmethod
    def DelegationTotalRewards(self,
        request: global___QueryDelegationTotalRewardsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegationTotalRewardsResponse: ...

    @abc.abstractmethod
    def DelegatorValidators(self,
        request: global___QueryDelegatorValidatorsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorValidatorsResponse: ...

    @abc.abstractmethod
    def DelegatorWithdrawAddress(self,
        request: global___QueryDelegatorWithdrawAddressRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorWithdrawAddressResponse: ...

    @abc.abstractmethod
    def CommunityPool(self,
        request: global___QueryCommunityPoolRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryCommunityPoolResponse: ...


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