"""
@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: ...
    # Counts queries the number of existing data sources, oracle scripts, and
    # requests.
    Counts:grpc.UnaryUnaryMultiCallable[
        global___QueryCountsRequest,
        global___QueryCountsResponse] = ...

    # Data queries content of the data source or oracle script for given SHA256
    # file hash.
    Data:grpc.UnaryUnaryMultiCallable[
        global___QueryDataRequest,
        global___QueryDataResponse] = ...

    # DataSource queries data source summary info for given data source id.
    DataSource:grpc.UnaryUnaryMultiCallable[
        global___QueryDataSourceRequest,
        global___QueryDataSourceResponse] = ...

    # OracleScript queries oracle script summary info for given oracle script id.
    OracleScript:grpc.UnaryUnaryMultiCallable[
        global___QueryOracleScriptRequest,
        global___QueryOracleScriptResponse] = ...

    # Request queries request info for given request id.
    Request:grpc.UnaryUnaryMultiCallable[
        global___QueryRequestRequest,
        global___QueryRequestResponse] = ...

    # PendingRequests queries list of pending request IDs assigned to given
    # validator.
    PendingRequests:grpc.UnaryUnaryMultiCallable[
        global___QueryPendingRequestsRequest,
        global___QueryPendingRequestsResponse] = ...

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

    # IsReporter queries grant of account on this validator.
    IsReporter:grpc.UnaryUnaryMultiCallable[
        global___QueryIsReporterRequest,
        global___QueryIsReporterResponse] = ...

    # Reporters queries all reporters associated with given validator address.
    Reporters:grpc.UnaryUnaryMultiCallable[
        global___QueryReportersRequest,
        global___QueryReportersResponse] = ...

    # ActiveValidators queries all active oracle validators.
    ActiveValidators:grpc.UnaryUnaryMultiCallable[
        global___QueryActiveValidatorsRequest,
        global___QueryActiveValidatorsResponse] = ...

    # Params queries parameters used for runnning bandchain network.
    Params:grpc.UnaryUnaryMultiCallable[
        global___QueryParamsRequest,
        global___QueryParamsResponse] = ...

    # RequestSearch queries the latest request that match search criteria.
    RequestSearch:grpc.UnaryUnaryMultiCallable[
        global___QueryRequestSearchRequest,
        global___QueryRequestSearchResponse] = ...

    # RequestPrice queries the latest price on standard price reference oracle
    # script.
    RequestPrice:grpc.UnaryUnaryMultiCallable[
        global___QueryRequestPriceRequest,
        global___QueryRequestPriceResponse] = ...

    # RequestVerification verifies a request to make sure that
    # all information that will be used to report the data is valid
    RequestVerification:grpc.UnaryUnaryMultiCallable[
        global___QueryRequestVerificationRequest,
        global___QueryRequestVerificationResponse] = ...


# Query defines the gRPC querier service.
class QueryServicer(metaclass=abc.ABCMeta):
    # Counts queries the number of existing data sources, oracle scripts, and
    # requests.
    @abc.abstractmethod
    def Counts(self,
        request: global___QueryCountsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryCountsResponse: ...

    # Data queries content of the data source or oracle script for given SHA256
    # file hash.
    @abc.abstractmethod
    def Data(self,
        request: global___QueryDataRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDataResponse: ...

    # DataSource queries data source summary info for given data source id.
    @abc.abstractmethod
    def DataSource(self,
        request: global___QueryDataSourceRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryDataSourceResponse: ...

    # OracleScript queries oracle script summary info for given oracle script id.
    @abc.abstractmethod
    def OracleScript(self,
        request: global___QueryOracleScriptRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryOracleScriptResponse: ...

    # Request queries request info for given request id.
    @abc.abstractmethod
    def Request(self,
        request: global___QueryRequestRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryRequestResponse: ...

    # PendingRequests queries list of pending request IDs assigned to given
    # validator.
    @abc.abstractmethod
    def PendingRequests(self,
        request: global___QueryPendingRequestsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryPendingRequestsResponse: ...

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

    # IsReporter queries grant of account on this validator.
    @abc.abstractmethod
    def IsReporter(self,
        request: global___QueryIsReporterRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryIsReporterResponse: ...

    # Reporters queries all reporters associated with given validator address.
    @abc.abstractmethod
    def Reporters(self,
        request: global___QueryReportersRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryReportersResponse: ...

    # ActiveValidators queries all active oracle validators.
    @abc.abstractmethod
    def ActiveValidators(self,
        request: global___QueryActiveValidatorsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryActiveValidatorsResponse: ...

    # Params queries parameters used for runnning bandchain network.
    @abc.abstractmethod
    def Params(self,
        request: global___QueryParamsRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryParamsResponse: ...

    # RequestSearch queries the latest request that match search criteria.
    @abc.abstractmethod
    def RequestSearch(self,
        request: global___QueryRequestSearchRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryRequestSearchResponse: ...

    # RequestPrice queries the latest price on standard price reference oracle
    # script.
    @abc.abstractmethod
    def RequestPrice(self,
        request: global___QueryRequestPriceRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryRequestPriceResponse: ...

    # RequestVerification verifies a request to make sure that
    # all information that will be used to report the data is valid
    @abc.abstractmethod
    def RequestVerification(self,
        request: global___QueryRequestVerificationRequest,
        context: grpc.ServicerContext,
    ) -> global___QueryRequestVerificationResponse: ...


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