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

from .query_pb2 import *
# Query defines the gRPC querier service.
class QueryStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    # Validators queries all validators that match the given status.
    Validators:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorsRequest,
        global___QueryValidatorsResponse] = ...

    # Validator queries validator info for given validator address.
    Validator:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorRequest,
        global___QueryValidatorResponse] = ...

    # ValidatorDelegations queries delegate info for given validator.
    ValidatorDelegations:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorDelegationsRequest,
        global___QueryValidatorDelegationsResponse] = ...

    # ValidatorUnbondingDelegations queries unbonding delegations of a validator.
    ValidatorUnbondingDelegations:grpc.UnaryUnaryMultiCallable[
        global___QueryValidatorUnbondingDelegationsRequest,
        global___QueryValidatorUnbondingDelegationsResponse] = ...

    # Delegation queries delegate info for given validator delegator pair.
    Delegation:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegationRequest,
        global___QueryDelegationResponse] = ...

    # UnbondingDelegation queries unbonding info for given validator delegator
    # pair.
    UnbondingDelegation:grpc.UnaryUnaryMultiCallable[
        global___QueryUnbondingDelegationRequest,
        global___QueryUnbondingDelegationResponse] = ...

    # DelegatorDelegations queries all delegations of a given delegator address.
    DelegatorDelegations:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorDelegationsRequest,
        global___QueryDelegatorDelegationsResponse] = ...

    # DelegatorUnbondingDelegations queries all unbonding delegations of a given
    # delegator address.
    DelegatorUnbondingDelegations:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorUnbondingDelegationsRequest,
        global___QueryDelegatorUnbondingDelegationsResponse] = ...

    # Redelegations queries redelegations of given address.
    Redelegations:grpc.UnaryUnaryMultiCallable[
        global___QueryRedelegationsRequest,
        global___QueryRedelegationsResponse] = ...

    # DelegatorValidators queries all validators info for given delegator
    # address.
    DelegatorValidators:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorValidatorsRequest,
        global___QueryDelegatorValidatorsResponse] = ...

    # DelegatorValidator queries validator info for given delegator validator
    # pair.
    DelegatorValidator:grpc.UnaryUnaryMultiCallable[
        global___QueryDelegatorValidatorRequest,
        global___QueryDelegatorValidatorResponse] = ...

    # HistoricalInfo queries the historical info for given height.
    HistoricalInfo:grpc.UnaryUnaryMultiCallable[
        global___QueryHistoricalInfoRequest,
        global___QueryHistoricalInfoResponse] = ...

    # Pool queries the pool info.
    Pool:grpc.UnaryUnaryMultiCallable[
        global___QueryPoolRequest,
        global___QueryPoolResponse] = ...

    # Parameters queries the staking parameters.
    Params:grpc.UnaryUnaryMultiCallable[
        global___QueryParamsRequest,
        global___QueryParamsResponse] = ...


# Query defines the gRPC querier service.
class QueryServicer(metaclass=abc.ABCMeta):
    # Validators queries all validators that match the given status.
    @abc.abstractmethod
    def Validators(self,
        request: global___QueryValidatorsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorsResponse: ...

    # Validator queries validator info for given validator address.
    @abc.abstractmethod
    def Validator(self,
        request: global___QueryValidatorRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorResponse: ...

    # ValidatorDelegations queries delegate info for given validator.
    @abc.abstractmethod
    def ValidatorDelegations(self,
        request: global___QueryValidatorDelegationsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorDelegationsResponse: ...

    # ValidatorUnbondingDelegations queries unbonding delegations of a validator.
    @abc.abstractmethod
    def ValidatorUnbondingDelegations(self,
        request: global___QueryValidatorUnbondingDelegationsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryValidatorUnbondingDelegationsResponse: ...

    # Delegation queries delegate info for given validator delegator pair.
    @abc.abstractmethod
    def Delegation(self,
        request: global___QueryDelegationRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegationResponse: ...

    # UnbondingDelegation queries unbonding info for given validator delegator
    # pair.
    @abc.abstractmethod
    def UnbondingDelegation(self,
        request: global___QueryUnbondingDelegationRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryUnbondingDelegationResponse: ...

    # DelegatorDelegations queries all delegations of a given delegator address.
    @abc.abstractmethod
    def DelegatorDelegations(self,
        request: global___QueryDelegatorDelegationsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorDelegationsResponse: ...

    # DelegatorUnbondingDelegations queries all unbonding delegations of a given
    # delegator address.
    @abc.abstractmethod
    def DelegatorUnbondingDelegations(self,
        request: global___QueryDelegatorUnbondingDelegationsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorUnbondingDelegationsResponse: ...

    # Redelegations queries redelegations of given address.
    @abc.abstractmethod
    def Redelegations(self,
        request: global___QueryRedelegationsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryRedelegationsResponse: ...

    # DelegatorValidators queries all validators info for given delegator
    # address.
    @abc.abstractmethod
    def DelegatorValidators(self,
        request: global___QueryDelegatorValidatorsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorValidatorsResponse: ...

    # DelegatorValidator queries validator info for given delegator validator
    # pair.
    @abc.abstractmethod
    def DelegatorValidator(self,
        request: global___QueryDelegatorValidatorRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDelegatorValidatorResponse: ...

    # HistoricalInfo queries the historical info for given height.
    @abc.abstractmethod
    def HistoricalInfo(self,
        request: global___QueryHistoricalInfoRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryHistoricalInfoResponse: ...

    # Pool queries the pool info.
    @abc.abstractmethod
    def Pool(self,
        request: global___QueryPoolRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPoolResponse: ...

    # Parameters queries the staking parameters.
    @abc.abstractmethod
    def Params(self,
        request: global___QueryParamsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryParamsResponse: ...


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