import { Rpc } from "../../helpers";
import { QueryClient } from "@cosmjs/stargate";
import { QueryCountsRequest, QueryCountsResponse, QueryDataRequest, QueryDataResponse, QueryDataSourceRequest, QueryDataSourceResponse, QueryOracleScriptRequest, QueryOracleScriptResponse, QueryRequestRequest, QueryRequestResponse, QueryPendingRequestsRequest, QueryPendingRequestsResponse, QueryValidatorRequest, QueryValidatorResponse, QueryIsReporterRequest, QueryIsReporterResponse, QueryReportersRequest, QueryReportersResponse, QueryActiveValidatorsRequest, QueryActiveValidatorsResponse, QueryParamsRequest, QueryParamsResponse, QueryRequestSearchRequest, QueryRequestSearchResponse, QueryRequestPriceRequest, QueryRequestPriceResponse, QueryRequestVerificationRequest, QueryRequestVerificationResponse } from "./query";
/** Query defines the gRPC querier service. */
export interface Query {
    /**
     * Counts queries the number of existing data sources, oracle scripts, and
     * requests.
     */
    counts(request?: QueryCountsRequest): Promise<QueryCountsResponse>;
    /**
     * Data queries content of the data source or oracle script for given SHA256
     * file hash.
     */
    data(request: QueryDataRequest): Promise<QueryDataResponse>;
    /** DataSource queries data source summary info for given data source id. */
    dataSource(request: QueryDataSourceRequest): Promise<QueryDataSourceResponse>;
    /** OracleScript queries oracle script summary info for given oracle script id. */
    oracleScript(request: QueryOracleScriptRequest): Promise<QueryOracleScriptResponse>;
    /** Request queries request info for given request id. */
    request(request: QueryRequestRequest): Promise<QueryRequestResponse>;
    /**
     * PendingRequests queries list of pending request IDs assigned to given
     * validator.
     */
    pendingRequests(request: QueryPendingRequestsRequest): Promise<QueryPendingRequestsResponse>;
    /** Validator queries properties of given validator address. */
    validator(request: QueryValidatorRequest): Promise<QueryValidatorResponse>;
    /** IsReporter queries grant of account on this validator. */
    isReporter(request: QueryIsReporterRequest): Promise<QueryIsReporterResponse>;
    /** Reporters queries all reporters associated with given validator address. */
    reporters(request: QueryReportersRequest): Promise<QueryReportersResponse>;
    /** ActiveValidators queries all active oracle validators. */
    activeValidators(request?: QueryActiveValidatorsRequest): Promise<QueryActiveValidatorsResponse>;
    /** Params queries parameters used for runnning bandchain network. */
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
    /** RequestSearch queries the latest request that match search criteria. */
    requestSearch(request: QueryRequestSearchRequest): Promise<QueryRequestSearchResponse>;
    /**
     * RequestPrice queries the latest price on standard price reference oracle
     * script.
     */
    requestPrice(request: QueryRequestPriceRequest): Promise<QueryRequestPriceResponse>;
    /**
     * RequestVerification verifies a request to make sure that
     * all information that will be used to report the data is valid
     */
    requestVerification(request: QueryRequestVerificationRequest): Promise<QueryRequestVerificationResponse>;
}
export declare class QueryClientImpl implements Query {
    private readonly rpc;
    constructor(rpc: Rpc);
    counts(request?: QueryCountsRequest): Promise<QueryCountsResponse>;
    data(request: QueryDataRequest): Promise<QueryDataResponse>;
    dataSource(request: QueryDataSourceRequest): Promise<QueryDataSourceResponse>;
    oracleScript(request: QueryOracleScriptRequest): Promise<QueryOracleScriptResponse>;
    request(request: QueryRequestRequest): Promise<QueryRequestResponse>;
    pendingRequests(request: QueryPendingRequestsRequest): Promise<QueryPendingRequestsResponse>;
    validator(request: QueryValidatorRequest): Promise<QueryValidatorResponse>;
    isReporter(request: QueryIsReporterRequest): Promise<QueryIsReporterResponse>;
    reporters(request: QueryReportersRequest): Promise<QueryReportersResponse>;
    activeValidators(request?: QueryActiveValidatorsRequest): Promise<QueryActiveValidatorsResponse>;
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
    requestSearch(request: QueryRequestSearchRequest): Promise<QueryRequestSearchResponse>;
    requestPrice(request: QueryRequestPriceRequest): Promise<QueryRequestPriceResponse>;
    requestVerification(request: QueryRequestVerificationRequest): Promise<QueryRequestVerificationResponse>;
}
export declare const createRpcQueryExtension: (base: QueryClient) => {
    counts(request?: QueryCountsRequest): Promise<QueryCountsResponse>;
    data(request: QueryDataRequest): Promise<QueryDataResponse>;
    dataSource(request: QueryDataSourceRequest): Promise<QueryDataSourceResponse>;
    oracleScript(request: QueryOracleScriptRequest): Promise<QueryOracleScriptResponse>;
    request(request: QueryRequestRequest): Promise<QueryRequestResponse>;
    pendingRequests(request: QueryPendingRequestsRequest): Promise<QueryPendingRequestsResponse>;
    validator(request: QueryValidatorRequest): Promise<QueryValidatorResponse>;
    isReporter(request: QueryIsReporterRequest): Promise<QueryIsReporterResponse>;
    reporters(request: QueryReportersRequest): Promise<QueryReportersResponse>;
    activeValidators(request?: QueryActiveValidatorsRequest): Promise<QueryActiveValidatorsResponse>;
    params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
    requestSearch(request: QueryRequestSearchRequest): Promise<QueryRequestSearchResponse>;
    requestPrice(request: QueryRequestPriceRequest): Promise<QueryRequestPriceResponse>;
    requestVerification(request: QueryRequestVerificationRequest): Promise<QueryRequestVerificationResponse>;
};
