// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/oracle/v1beta1/query.proto" (package "injective.oracle.v1beta1", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Query } from "./query_pb";
import type { QueryPythPriceResponse } from "./query_pb";
import type { QueryPythPriceRequest } from "./query_pb";
import type { QueryOraclePriceResponse } from "./query_pb";
import type { QueryOraclePriceRequest } from "./query_pb";
import type { QueryOracleProviderPricesResponse } from "./query_pb";
import type { QueryOracleProviderPricesRequest } from "./query_pb";
import type { QueryOracleProvidersInfoResponse } from "./query_pb";
import type { QueryOracleProvidersInfoRequest } from "./query_pb";
import type { QueryOracleVolatilityResponse } from "./query_pb";
import type { QueryOracleVolatilityRequest } from "./query_pb";
import type { QueryHistoricalPriceRecordsResponse } from "./query_pb";
import type { QueryHistoricalPriceRecordsRequest } from "./query_pb";
import type { QueryModuleStateResponse } from "./query_pb";
import type { QueryModuleStateRequest } from "./query_pb";
import type { QueryChainlinkDataStreamsPriceStatesResponse } from "./query_pb";
import type { QueryChainlinkDataStreamsPriceStatesRequest } from "./query_pb";
import type { QueryProviderPriceStateResponse } from "./query_pb";
import type { QueryProviderPriceStateRequest } from "./query_pb";
import type { QueryStorkPublishersResponse } from "./query_pb";
import type { QueryStorkPublishersRequest } from "./query_pb";
import type { QueryStorkPriceStatesResponse } from "./query_pb";
import type { QueryStorkPriceStatesRequest } from "./query_pb";
import type { QuerySedaFastPriceStatesResponse } from "./query_pb";
import type { QuerySedaFastPriceStatesRequest } from "./query_pb";
import type { QueryPythProPriceStatesResponse } from "./query_pb";
import type { QueryPythProPriceStatesRequest } from "./query_pb";
import type { QueryPythPriceStatesResponse } from "./query_pb";
import type { QueryPythPriceStatesRequest } from "./query_pb";
import type { QueryCoinbasePriceStatesResponse } from "./query_pb";
import type { QueryCoinbasePriceStatesRequest } from "./query_pb";
import type { QueryPriceFeedPriceStatesResponse } from "./query_pb";
import type { QueryPriceFeedPriceStatesRequest } from "./query_pb";
import type { QueryBandIBCPriceStatesResponse } from "./query_pb";
import type { QueryBandIBCPriceStatesRequest } from "./query_pb";
import type { QueryBandPriceStatesResponse } from "./query_pb";
import type { QueryBandPriceStatesRequest } from "./query_pb";
import type { QueryBandRelayersResponse } from "./query_pb";
import type { QueryBandRelayersRequest } from "./query_pb";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { QueryParamsResponse } from "./query_pb";
import type { QueryParamsRequest } from "./query_pb";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * Query defines the gRPC querier service.
 *
 * @generated from protobuf service injective.oracle.v1beta1.Query
 */
export interface IQueryClient {
    /**
     * Retrieves oracle params
     *
     * @generated from protobuf rpc: Params
     */
    params(input: QueryParamsRequest, options?: RpcOptions): UnaryCall<QueryParamsRequest, QueryParamsResponse>;
    /**
     * Retrieves the band relayers
     *
     * @generated from protobuf rpc: BandRelayers
     */
    bandRelayers(input: QueryBandRelayersRequest, options?: RpcOptions): UnaryCall<QueryBandRelayersRequest, QueryBandRelayersResponse>;
    /**
     * Retrieves the state for all band price feeds
     *
     * @generated from protobuf rpc: BandPriceStates
     */
    bandPriceStates(input: QueryBandPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryBandPriceStatesRequest, QueryBandPriceStatesResponse>;
    /**
     * Retrieves the state for all band ibc price feeds
     *
     * @generated from protobuf rpc: BandIBCPriceStates
     */
    bandIBCPriceStates(input: QueryBandIBCPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryBandIBCPriceStatesRequest, QueryBandIBCPriceStatesResponse>;
    /**
     * Retrieves the state for all price feeds
     *
     * @generated from protobuf rpc: PriceFeedPriceStates
     */
    priceFeedPriceStates(input: QueryPriceFeedPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPriceFeedPriceStatesRequest, QueryPriceFeedPriceStatesResponse>;
    /**
     * Retrieves the state for all coinbase price feeds
     *
     * @generated from protobuf rpc: CoinbasePriceStates
     */
    coinbasePriceStates(input: QueryCoinbasePriceStatesRequest, options?: RpcOptions): UnaryCall<QueryCoinbasePriceStatesRequest, QueryCoinbasePriceStatesResponse>;
    /**
     * Retrieves the state for all pyth price feeds
     *
     * @generated from protobuf rpc: PythPriceStates
     */
    pythPriceStates(input: QueryPythPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPythPriceStatesRequest, QueryPythPriceStatesResponse>;
    /**
     * Retrieves the state for all pyth pro price feeds
     *
     * @generated from protobuf rpc: PythProPriceStates
     */
    pythProPriceStates(input: QueryPythProPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPythProPriceStatesRequest, QueryPythProPriceStatesResponse>;
    /**
     * Retrieves the state for all SEDA Fast price feeds
     *
     * @generated from protobuf rpc: SedaFastPriceStates
     */
    sedaFastPriceStates(input: QuerySedaFastPriceStatesRequest, options?: RpcOptions): UnaryCall<QuerySedaFastPriceStatesRequest, QuerySedaFastPriceStatesResponse>;
    /**
     * Retrieves the state for all stork price feeds
     *
     * @generated from protobuf rpc: StorkPriceStates
     */
    storkPriceStates(input: QueryStorkPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryStorkPriceStatesRequest, QueryStorkPriceStatesResponse>;
    /**
     * Retrieves all stork publishers
     *
     * @generated from protobuf rpc: StorkPublishers
     */
    storkPublishers(input: QueryStorkPublishersRequest, options?: RpcOptions): UnaryCall<QueryStorkPublishersRequest, QueryStorkPublishersResponse>;
    /**
     * Retrieves the state for all provider price feeds
     *
     * @generated from protobuf rpc: ProviderPriceState
     */
    providerPriceState(input: QueryProviderPriceStateRequest, options?: RpcOptions): UnaryCall<QueryProviderPriceStateRequest, QueryProviderPriceStateResponse>;
    /**
     * Retrieves the state for all Chainlink Data Streams price feeds
     *
     * @generated from protobuf rpc: ChainlinkDataStreamsPriceStates
     */
    chainlinkDataStreamsPriceStates(input: QueryChainlinkDataStreamsPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryChainlinkDataStreamsPriceStatesRequest, QueryChainlinkDataStreamsPriceStatesResponse>;
    /**
     * Retrieves the entire oracle module's state
     *
     * @generated from protobuf rpc: OracleModuleState
     */
    oracleModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse>;
    /**
     * Retrieves historical price records for a given OracleType and Symbol
     *
     * @generated from protobuf rpc: HistoricalPriceRecords
     */
    historicalPriceRecords(input: QueryHistoricalPriceRecordsRequest, options?: RpcOptions): UnaryCall<QueryHistoricalPriceRecordsRequest, QueryHistoricalPriceRecordsResponse>;
    /**
     * Retrieves mixed volatility value for the specified pair of base/quote
     *
     * @generated from protobuf rpc: OracleVolatility
     */
    oracleVolatility(input: QueryOracleVolatilityRequest, options?: RpcOptions): UnaryCall<QueryOracleVolatilityRequest, QueryOracleVolatilityResponse>;
    /**
     * @generated from protobuf rpc: OracleProvidersInfo
     */
    oracleProvidersInfo(input: QueryOracleProvidersInfoRequest, options?: RpcOptions): UnaryCall<QueryOracleProvidersInfoRequest, QueryOracleProvidersInfoResponse>;
    /**
     * @generated from protobuf rpc: OracleProviderPrices
     */
    oracleProviderPrices(input: QueryOracleProviderPricesRequest, options?: RpcOptions): UnaryCall<QueryOracleProviderPricesRequest, QueryOracleProviderPricesResponse>;
    /**
     * @generated from protobuf rpc: OraclePrice
     */
    oraclePrice(input: QueryOraclePriceRequest, options?: RpcOptions): UnaryCall<QueryOraclePriceRequest, QueryOraclePriceResponse>;
    /**
     * @generated from protobuf rpc: PythPrice
     */
    pythPrice(input: QueryPythPriceRequest, options?: RpcOptions): UnaryCall<QueryPythPriceRequest, QueryPythPriceResponse>;
}
/**
 * Query defines the gRPC querier service.
 *
 * @generated from protobuf service injective.oracle.v1beta1.Query
 */
export class QueryClient implements IQueryClient, ServiceInfo {
    typeName = Query.typeName;
    methods = Query.methods;
    options = Query.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * Retrieves oracle params
     *
     * @generated from protobuf rpc: Params
     */
    params(input: QueryParamsRequest, options?: RpcOptions): UnaryCall<QueryParamsRequest, QueryParamsResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryParamsRequest, QueryParamsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the band relayers
     *
     * @generated from protobuf rpc: BandRelayers
     */
    bandRelayers(input: QueryBandRelayersRequest, options?: RpcOptions): UnaryCall<QueryBandRelayersRequest, QueryBandRelayersResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBandRelayersRequest, QueryBandRelayersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all band price feeds
     *
     * @generated from protobuf rpc: BandPriceStates
     */
    bandPriceStates(input: QueryBandPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryBandPriceStatesRequest, QueryBandPriceStatesResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBandPriceStatesRequest, QueryBandPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all band ibc price feeds
     *
     * @generated from protobuf rpc: BandIBCPriceStates
     */
    bandIBCPriceStates(input: QueryBandIBCPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryBandIBCPriceStatesRequest, QueryBandIBCPriceStatesResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBandIBCPriceStatesRequest, QueryBandIBCPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all price feeds
     *
     * @generated from protobuf rpc: PriceFeedPriceStates
     */
    priceFeedPriceStates(input: QueryPriceFeedPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPriceFeedPriceStatesRequest, QueryPriceFeedPriceStatesResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPriceFeedPriceStatesRequest, QueryPriceFeedPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all coinbase price feeds
     *
     * @generated from protobuf rpc: CoinbasePriceStates
     */
    coinbasePriceStates(input: QueryCoinbasePriceStatesRequest, options?: RpcOptions): UnaryCall<QueryCoinbasePriceStatesRequest, QueryCoinbasePriceStatesResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryCoinbasePriceStatesRequest, QueryCoinbasePriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all pyth price feeds
     *
     * @generated from protobuf rpc: PythPriceStates
     */
    pythPriceStates(input: QueryPythPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPythPriceStatesRequest, QueryPythPriceStatesResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPythPriceStatesRequest, QueryPythPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all pyth pro price feeds
     *
     * @generated from protobuf rpc: PythProPriceStates
     */
    pythProPriceStates(input: QueryPythProPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryPythProPriceStatesRequest, QueryPythProPriceStatesResponse> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPythProPriceStatesRequest, QueryPythProPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all SEDA Fast price feeds
     *
     * @generated from protobuf rpc: SedaFastPriceStates
     */
    sedaFastPriceStates(input: QuerySedaFastPriceStatesRequest, options?: RpcOptions): UnaryCall<QuerySedaFastPriceStatesRequest, QuerySedaFastPriceStatesResponse> {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySedaFastPriceStatesRequest, QuerySedaFastPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all stork price feeds
     *
     * @generated from protobuf rpc: StorkPriceStates
     */
    storkPriceStates(input: QueryStorkPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryStorkPriceStatesRequest, QueryStorkPriceStatesResponse> {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryStorkPriceStatesRequest, QueryStorkPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all stork publishers
     *
     * @generated from protobuf rpc: StorkPublishers
     */
    storkPublishers(input: QueryStorkPublishersRequest, options?: RpcOptions): UnaryCall<QueryStorkPublishersRequest, QueryStorkPublishersResponse> {
        const method = this.methods[10], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryStorkPublishersRequest, QueryStorkPublishersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all provider price feeds
     *
     * @generated from protobuf rpc: ProviderPriceState
     */
    providerPriceState(input: QueryProviderPriceStateRequest, options?: RpcOptions): UnaryCall<QueryProviderPriceStateRequest, QueryProviderPriceStateResponse> {
        const method = this.methods[11], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryProviderPriceStateRequest, QueryProviderPriceStateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the state for all Chainlink Data Streams price feeds
     *
     * @generated from protobuf rpc: ChainlinkDataStreamsPriceStates
     */
    chainlinkDataStreamsPriceStates(input: QueryChainlinkDataStreamsPriceStatesRequest, options?: RpcOptions): UnaryCall<QueryChainlinkDataStreamsPriceStatesRequest, QueryChainlinkDataStreamsPriceStatesResponse> {
        const method = this.methods[12], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryChainlinkDataStreamsPriceStatesRequest, QueryChainlinkDataStreamsPriceStatesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the entire oracle module's state
     *
     * @generated from protobuf rpc: OracleModuleState
     */
    oracleModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse> {
        const method = this.methods[13], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryModuleStateRequest, QueryModuleStateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves historical price records for a given OracleType and Symbol
     *
     * @generated from protobuf rpc: HistoricalPriceRecords
     */
    historicalPriceRecords(input: QueryHistoricalPriceRecordsRequest, options?: RpcOptions): UnaryCall<QueryHistoricalPriceRecordsRequest, QueryHistoricalPriceRecordsResponse> {
        const method = this.methods[14], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryHistoricalPriceRecordsRequest, QueryHistoricalPriceRecordsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves mixed volatility value for the specified pair of base/quote
     *
     * @generated from protobuf rpc: OracleVolatility
     */
    oracleVolatility(input: QueryOracleVolatilityRequest, options?: RpcOptions): UnaryCall<QueryOracleVolatilityRequest, QueryOracleVolatilityResponse> {
        const method = this.methods[15], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOracleVolatilityRequest, QueryOracleVolatilityResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: OracleProvidersInfo
     */
    oracleProvidersInfo(input: QueryOracleProvidersInfoRequest, options?: RpcOptions): UnaryCall<QueryOracleProvidersInfoRequest, QueryOracleProvidersInfoResponse> {
        const method = this.methods[16], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOracleProvidersInfoRequest, QueryOracleProvidersInfoResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: OracleProviderPrices
     */
    oracleProviderPrices(input: QueryOracleProviderPricesRequest, options?: RpcOptions): UnaryCall<QueryOracleProviderPricesRequest, QueryOracleProviderPricesResponse> {
        const method = this.methods[17], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOracleProviderPricesRequest, QueryOracleProviderPricesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: OraclePrice
     */
    oraclePrice(input: QueryOraclePriceRequest, options?: RpcOptions): UnaryCall<QueryOraclePriceRequest, QueryOraclePriceResponse> {
        const method = this.methods[18], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOraclePriceRequest, QueryOraclePriceResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: PythPrice
     */
    pythPrice(input: QueryPythPriceRequest, options?: RpcOptions): UnaryCall<QueryPythPriceRequest, QueryPythPriceResponse> {
        const method = this.methods[19], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPythPriceRequest, QueryPythPriceResponse>("unary", this._transport, method, opt, input);
    }
}
