// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/exchange/v2/query.proto" (package "injective.exchange.v2", 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 { QueryOpenInterestResponse } from "./query_pb";
import type { QueryOpenInterestRequest } from "./query_pb";
import type { QueryDenomMinNotionalsResponse } from "./query_pb";
import type { QueryDenomMinNotionalsRequest } from "./query_pb";
import type { QueryDenomMinNotionalResponse } from "./query_pb";
import type { QueryDenomMinNotionalRequest } from "./query_pb";
import type { QueryMarketBalancesResponse } from "./query_pb";
import type { QueryMarketBalancesRequest } from "./query_pb";
import type { QueryMarketBalanceResponse } from "./query_pb";
import type { QueryMarketBalanceRequest } from "./query_pb";
import type { QueryGrantAuthorizationsResponse } from "./query_pb";
import type { QueryGrantAuthorizationsRequest } from "./query_pb";
import type { QueryGrantAuthorizationResponse } from "./query_pb";
import type { QueryGrantAuthorizationRequest } from "./query_pb";
import type { QueryActiveStakeGrantResponse } from "./query_pb";
import type { QueryActiveStakeGrantRequest } from "./query_pb";
import type { QueryMarketAtomicExecutionFeeMultiplierResponse } from "./query_pb";
import type { QueryMarketAtomicExecutionFeeMultiplierRequest } from "./query_pb";
import type { QueryTraderDerivativeConditionalOrdersResponse } from "./query_pb";
import type { QueryTraderDerivativeConditionalOrdersRequest } from "./query_pb";
import type { QueryBinaryMarketsResponse } from "./query_pb";
import type { QueryBinaryMarketsRequest } from "./query_pb";
import type { QueryMarketVolatilityResponse } from "./query_pb";
import type { QueryMarketVolatilityRequest } from "./query_pb";
import type { QueryOptedOutOfRewardsAccountsResponse } from "./query_pb";
import type { QueryOptedOutOfRewardsAccountsRequest } from "./query_pb";
import type { QueryIsOptedOutOfRewardsResponse } from "./query_pb";
import type { QueryIsOptedOutOfRewardsRequest } from "./query_pb";
import type { QueryHistoricalTradeRecordsResponse } from "./query_pb";
import type { QueryHistoricalTradeRecordsRequest } from "./query_pb";
import type { QueryMarketIDFromVaultResponse } from "./query_pb";
import type { QueryMarketIDFromVaultRequest } from "./query_pb";
import type { MitoVaultInfosResponse } from "./query_pb";
import type { MitoVaultInfosRequest } from "./query_pb";
import type { QueryFeeDiscountTierStatisticsResponse } from "./query_pb";
import type { QueryFeeDiscountTierStatisticsRequest } from "./query_pb";
import type { QueryBalanceWithBalanceHoldsResponse } from "./query_pb";
import type { QueryBalanceWithBalanceHoldsRequest } from "./query_pb";
import type { QueryBalanceMismatchesResponse } from "./query_pb";
import type { QueryBalanceMismatchesRequest } from "./query_pb";
import type { QueryFeeDiscountScheduleResponse } from "./query_pb";
import type { QueryFeeDiscountScheduleRequest } from "./query_pb";
import type { QueryFeeDiscountAccountInfoResponse } from "./query_pb";
import type { QueryFeeDiscountAccountInfoRequest } from "./query_pb";
import type { QueryTradeRewardCampaignResponse } from "./query_pb";
import type { QueryTradeRewardCampaignRequest } from "./query_pb";
import type { QueryTradeRewardPointsResponse } from "./query_pb";
import type { QueryTradeRewardPointsRequest } from "./query_pb";
import type { QuerySubaccountOrderMetadataResponse } from "./query_pb";
import type { QuerySubaccountOrderMetadataRequest } from "./query_pb";
import type { QueryPerpetualMarketFundingResponse } from "./query_pb";
import type { QueryPerpetualMarketFundingRequest } from "./query_pb";
import type { QueryExpiryFuturesMarketInfoResponse } from "./query_pb";
import type { QueryExpiryFuturesMarketInfoRequest } from "./query_pb";
import type { QueryPerpetualMarketInfoResponse } from "./query_pb";
import type { QueryPerpetualMarketInfoRequest } from "./query_pb";
import type { QuerySubaccountEffectivePositionInMarketResponse } from "./query_pb";
import type { QuerySubaccountEffectivePositionInMarketRequest } from "./query_pb";
import type { QuerySubaccountPositionInMarketResponse } from "./query_pb";
import type { QuerySubaccountPositionInMarketRequest } from "./query_pb";
import type { QuerySubaccountPositionsResponse } from "./query_pb";
import type { QuerySubaccountPositionsRequest } from "./query_pb";
import type { QueryPositionsInMarketResponse } from "./query_pb";
import type { QueryPositionsInMarketRequest } from "./query_pb";
import type { QueryPositionsResponse } from "./query_pb";
import type { QueryPositionsRequest } from "./query_pb";
import type { QueryModuleStateResponse } from "./query_pb";
import type { QueryModuleStateRequest } from "./query_pb";
import type { QueryCrossMarginPoolSnapshotResponse } from "./query_pb";
import type { QueryCrossMarginPoolSnapshotRequest } from "./query_pb";
import type { QuerySubaccountRiskProfileResponse } from "./query_pb";
import type { QuerySubaccountRiskProfileRequest } from "./query_pb";
import type { QuerySubaccountTradeNonceResponse } from "./query_pb";
import type { QuerySubaccountTradeNonceRequest } from "./query_pb";
import type { QueryDerivativeMarketAddressResponse } from "./query_pb";
import type { QueryDerivativeMarketAddressRequest } from "./query_pb";
import type { QueryDerivativeMarketResponse } from "./query_pb";
import type { QueryDerivativeMarketRequest } from "./query_pb";
import type { QueryDerivativeMarketsResponse } from "./query_pb";
import type { QueryDerivativeMarketsRequest } from "./query_pb";
import type { QueryDerivativeOrdersByHashesResponse } from "./query_pb";
import type { QueryDerivativeOrdersByHashesRequest } from "./query_pb";
import type { QueryAccountAddressDerivativeOrdersResponse } from "./query_pb";
import type { QueryAccountAddressDerivativeOrdersRequest } from "./query_pb";
import type { QueryTraderDerivativeOrdersResponse } from "./query_pb";
import type { QueryTraderDerivativeOrdersRequest } from "./query_pb";
import type { QueryDerivativeOrderbookResponse } from "./query_pb";
import type { QueryDerivativeOrderbookRequest } from "./query_pb";
import type { QueryDerivativeMidPriceAndTOBResponse } from "./query_pb";
import type { QueryDerivativeMidPriceAndTOBRequest } from "./query_pb";
import type { QuerySpotMidPriceAndTOBResponse } from "./query_pb";
import type { QuerySpotMidPriceAndTOBRequest } from "./query_pb";
import type { QuerySubaccountOrdersResponse } from "./query_pb";
import type { QuerySubaccountOrdersRequest } from "./query_pb";
import type { QuerySpotOrdersByHashesResponse } from "./query_pb";
import type { QuerySpotOrdersByHashesRequest } from "./query_pb";
import type { QueryAccountAddressSpotOrdersResponse } from "./query_pb";
import type { QueryAccountAddressSpotOrdersRequest } from "./query_pb";
import type { QueryTraderSpotOrdersResponse } from "./query_pb";
import type { QueryTraderSpotOrdersRequest } from "./query_pb";
import type { QuerySpotOrderbookResponse } from "./query_pb";
import type { QuerySpotOrderbookRequest } from "./query_pb";
import type { QueryFullSpotMarketResponse } from "./query_pb";
import type { QueryFullSpotMarketRequest } from "./query_pb";
import type { QueryFullSpotMarketsResponse } from "./query_pb";
import type { QueryFullSpotMarketsRequest } from "./query_pb";
import type { QuerySpotMarketResponse } from "./query_pb";
import type { QuerySpotMarketRequest } from "./query_pb";
import type { QuerySpotMarketsResponse } from "./query_pb";
import type { QuerySpotMarketsRequest } from "./query_pb";
import type { QueryAuctionExchangeTransferDenomDecimalsResponse } from "./query_pb";
import type { QueryAuctionExchangeTransferDenomDecimalsRequest } from "./query_pb";
import type { QueryAuctionExchangeTransferDenomDecimalResponse } from "./query_pb";
import type { QueryAuctionExchangeTransferDenomDecimalRequest } from "./query_pb";
import type { QueryAggregateMarketVolumesResponse } from "./query_pb";
import type { QueryAggregateMarketVolumesRequest } from "./query_pb";
import type { QueryAggregateMarketVolumeResponse } from "./query_pb";
import type { QueryAggregateMarketVolumeRequest } from "./query_pb";
import type { QueryAggregateVolumesResponse } from "./query_pb";
import type { QueryAggregateVolumesRequest } from "./query_pb";
import type { QueryAggregateVolumeResponse } from "./query_pb";
import type { QueryAggregateVolumeRequest } from "./query_pb";
import type { QueryExchangeBalancesResponse } from "./query_pb";
import type { QueryExchangeBalancesRequest } from "./query_pb";
import type { QuerySubaccountDepositResponse } from "./query_pb";
import type { QuerySubaccountDepositRequest } from "./query_pb";
import type { QuerySubaccountDepositsResponse } from "./query_pb";
import type { QuerySubaccountDepositsRequest } from "./query_pb";
import type { QueryExchangeParamsResponse } from "./query_pb";
import type { QueryExchangeParamsRequest } from "./query_pb";
import type { QueryFullSpotOrderbookResponse } from "./query_pb";
import type { QueryFullSpotOrderbookRequest } from "./query_pb";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { QueryFullDerivativeOrderbookResponse } from "./query_pb";
import type { QueryFullDerivativeOrderbookRequest } 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.exchange.v2.Query
 */
export interface IQueryClient {
    /**
     * @generated from protobuf rpc: L3DerivativeOrderBook
     */
    l3DerivativeOrderBook(input: QueryFullDerivativeOrderbookRequest, options?: RpcOptions): UnaryCall<QueryFullDerivativeOrderbookRequest, QueryFullDerivativeOrderbookResponse>;
    /**
     * @generated from protobuf rpc: L3SpotOrderBook
     */
    l3SpotOrderBook(input: QueryFullSpotOrderbookRequest, options?: RpcOptions): UnaryCall<QueryFullSpotOrderbookRequest, QueryFullSpotOrderbookResponse>;
    /**
     * Retrieves exchange params
     *
     * @generated from protobuf rpc: QueryExchangeParams
     */
    queryExchangeParams(input: QueryExchangeParamsRequest, options?: RpcOptions): UnaryCall<QueryExchangeParamsRequest, QueryExchangeParamsResponse>;
    /**
     * Retrieves a Subaccount's Deposits
     *
     * @generated from protobuf rpc: SubaccountDeposits
     */
    subaccountDeposits(input: QuerySubaccountDepositsRequest, options?: RpcOptions): UnaryCall<QuerySubaccountDepositsRequest, QuerySubaccountDepositsResponse>;
    /**
     * Retrieves a Subaccount's Deposits
     *
     * @generated from protobuf rpc: SubaccountDeposit
     */
    subaccountDeposit(input: QuerySubaccountDepositRequest, options?: RpcOptions): UnaryCall<QuerySubaccountDepositRequest, QuerySubaccountDepositResponse>;
    /**
     * Retrieves all of the balances of all users on the exchange.
     *
     * @generated from protobuf rpc: ExchangeBalances
     */
    exchangeBalances(input: QueryExchangeBalancesRequest, options?: RpcOptions): UnaryCall<QueryExchangeBalancesRequest, QueryExchangeBalancesResponse>;
    /**
     * Retrieves the aggregate volumes for the specified account or subaccount
     *
     * @generated from protobuf rpc: AggregateVolume
     */
    aggregateVolume(input: QueryAggregateVolumeRequest, options?: RpcOptions): UnaryCall<QueryAggregateVolumeRequest, QueryAggregateVolumeResponse>;
    /**
     * Retrieves the aggregate volumes for specified accounts
     *
     * @generated from protobuf rpc: AggregateVolumes
     */
    aggregateVolumes(input: QueryAggregateVolumesRequest, options?: RpcOptions): UnaryCall<QueryAggregateVolumesRequest, QueryAggregateVolumesResponse>;
    /**
     * Retrieves the aggregate volume for the specified market
     *
     * @generated from protobuf rpc: AggregateMarketVolume
     */
    aggregateMarketVolume(input: QueryAggregateMarketVolumeRequest, options?: RpcOptions): UnaryCall<QueryAggregateMarketVolumeRequest, QueryAggregateMarketVolumeResponse>;
    /**
     * Retrieves the aggregate market volumes for specified markets
     *
     * @generated from protobuf rpc: AggregateMarketVolumes
     */
    aggregateMarketVolumes(input: QueryAggregateMarketVolumesRequest, options?: RpcOptions): UnaryCall<QueryAggregateMarketVolumesRequest, QueryAggregateMarketVolumesResponse>;
    /**
     * Retrieves the denom decimals for a denom.
     *
     * @generated from protobuf rpc: AuctionExchangeTransferDenomDecimal
     */
    auctionExchangeTransferDenomDecimal(input: QueryAuctionExchangeTransferDenomDecimalRequest, options?: RpcOptions): UnaryCall<QueryAuctionExchangeTransferDenomDecimalRequest, QueryAuctionExchangeTransferDenomDecimalResponse>;
    /**
     * Retrieves the denom decimals for multiple denoms. Returns all denom
     * decimals if unspecified.
     *
     * @generated from protobuf rpc: AuctionExchangeTransferDenomDecimals
     */
    auctionExchangeTransferDenomDecimals(input: QueryAuctionExchangeTransferDenomDecimalsRequest, options?: RpcOptions): UnaryCall<QueryAuctionExchangeTransferDenomDecimalsRequest, QueryAuctionExchangeTransferDenomDecimalsResponse>;
    /**
     * Retrieves a list of spot markets.
     *
     * @generated from protobuf rpc: SpotMarkets
     */
    spotMarkets(input: QuerySpotMarketsRequest, options?: RpcOptions): UnaryCall<QuerySpotMarketsRequest, QuerySpotMarketsResponse>;
    /**
     * Retrieves a spot market by ticker
     *
     * @generated from protobuf rpc: SpotMarket
     */
    spotMarket(input: QuerySpotMarketRequest, options?: RpcOptions): UnaryCall<QuerySpotMarketRequest, QuerySpotMarketResponse>;
    /**
     * Retrieves a list of spot markets with extra information.
     *
     * @generated from protobuf rpc: FullSpotMarkets
     */
    fullSpotMarkets(input: QueryFullSpotMarketsRequest, options?: RpcOptions): UnaryCall<QueryFullSpotMarketsRequest, QueryFullSpotMarketsResponse>;
    /**
     * Retrieves a spot market with extra information.
     *
     * @generated from protobuf rpc: FullSpotMarket
     */
    fullSpotMarket(input: QueryFullSpotMarketRequest, options?: RpcOptions): UnaryCall<QueryFullSpotMarketRequest, QueryFullSpotMarketResponse>;
    /**
     * Retrieves a spot market's orderbook by marketID
     *
     * @generated from protobuf rpc: SpotOrderbook
     */
    spotOrderbook(input: QuerySpotOrderbookRequest, options?: RpcOptions): UnaryCall<QuerySpotOrderbookRequest, QuerySpotOrderbookResponse>;
    /**
     * Retrieves a trader's spot orders
     *
     * @generated from protobuf rpc: TraderSpotOrders
     */
    traderSpotOrders(input: QueryTraderSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse>;
    /**
     * Retrieves all account address spot orders
     *
     * @generated from protobuf rpc: AccountAddressSpotOrders
     */
    accountAddressSpotOrders(input: QueryAccountAddressSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryAccountAddressSpotOrdersRequest, QueryAccountAddressSpotOrdersResponse>;
    /**
     * Retrieves spot orders corresponding to specified order hashes for a given
     * subaccountID and marketID
     *
     * @generated from protobuf rpc: SpotOrdersByHashes
     */
    spotOrdersByHashes(input: QuerySpotOrdersByHashesRequest, options?: RpcOptions): UnaryCall<QuerySpotOrdersByHashesRequest, QuerySpotOrdersByHashesResponse>;
    /**
     * Retrieves subaccount's orders
     *
     * @generated from protobuf rpc: SubaccountOrders
     */
    subaccountOrders(input: QuerySubaccountOrdersRequest, options?: RpcOptions): UnaryCall<QuerySubaccountOrdersRequest, QuerySubaccountOrdersResponse>;
    /**
     * Retrieves a trader's transient spot orders
     *
     * @generated from protobuf rpc: TraderSpotTransientOrders
     */
    traderSpotTransientOrders(input: QueryTraderSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse>;
    /**
     * Retrieves a spot market's mid-price
     *
     * @generated from protobuf rpc: SpotMidPriceAndTOB
     */
    spotMidPriceAndTOB(input: QuerySpotMidPriceAndTOBRequest, options?: RpcOptions): UnaryCall<QuerySpotMidPriceAndTOBRequest, QuerySpotMidPriceAndTOBResponse>;
    /**
     * Retrieves a derivative market's mid-price
     *
     * @generated from protobuf rpc: DerivativeMidPriceAndTOB
     */
    derivativeMidPriceAndTOB(input: QueryDerivativeMidPriceAndTOBRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMidPriceAndTOBRequest, QueryDerivativeMidPriceAndTOBResponse>;
    /**
     * Retrieves a derivative market's orderbook by marketID
     *
     * @generated from protobuf rpc: DerivativeOrderbook
     */
    derivativeOrderbook(input: QueryDerivativeOrderbookRequest, options?: RpcOptions): UnaryCall<QueryDerivativeOrderbookRequest, QueryDerivativeOrderbookResponse>;
    /**
     * Retrieves a trader's derivative orders
     *
     * @generated from protobuf rpc: TraderDerivativeOrders
     */
    traderDerivativeOrders(input: QueryTraderDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse>;
    /**
     * Retrieves all account address derivative orders
     *
     * @generated from protobuf rpc: AccountAddressDerivativeOrders
     */
    accountAddressDerivativeOrders(input: QueryAccountAddressDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryAccountAddressDerivativeOrdersRequest, QueryAccountAddressDerivativeOrdersResponse>;
    /**
     * Retrieves a trader's derivative orders
     *
     * @generated from protobuf rpc: DerivativeOrdersByHashes
     */
    derivativeOrdersByHashes(input: QueryDerivativeOrdersByHashesRequest, options?: RpcOptions): UnaryCall<QueryDerivativeOrdersByHashesRequest, QueryDerivativeOrdersByHashesResponse>;
    /**
     * Retrieves a trader's transient derivative orders
     *
     * @generated from protobuf rpc: TraderDerivativeTransientOrders
     */
    traderDerivativeTransientOrders(input: QueryTraderDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse>;
    /**
     * Retrieves a list of derivative markets.
     *
     * @generated from protobuf rpc: DerivativeMarkets
     */
    derivativeMarkets(input: QueryDerivativeMarketsRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketsRequest, QueryDerivativeMarketsResponse>;
    /**
     * Retrieves a derivative market by ticker
     *
     * @generated from protobuf rpc: DerivativeMarket
     */
    derivativeMarket(input: QueryDerivativeMarketRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketRequest, QueryDerivativeMarketResponse>;
    /**
     * Retrieves a derivative market's corresponding address for fees that
     * contribute to the market's insurance fund
     *
     * @generated from protobuf rpc: DerivativeMarketAddress
     */
    derivativeMarketAddress(input: QueryDerivativeMarketAddressRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketAddressRequest, QueryDerivativeMarketAddressResponse>;
    /**
     * Retrieves a subaccount's trade nonce
     *
     * @generated from protobuf rpc: SubaccountTradeNonce
     */
    subaccountTradeNonce(input: QuerySubaccountTradeNonceRequest, options?: RpcOptions): UnaryCall<QuerySubaccountTradeNonceRequest, QuerySubaccountTradeNonceResponse>;
    /**
     * Retrieves a subaccount's risk profile
     *
     * @generated from protobuf rpc: SubaccountRiskProfile
     */
    subaccountRiskProfile(input: QuerySubaccountRiskProfileRequest, options?: RpcOptions): UnaryCall<QuerySubaccountRiskProfileRequest, QuerySubaccountRiskProfileResponse>;
    /**
     * Retrieves a subaccount's cross-margin pool snapshot for a given quote
     * denom. Returns current equity, order lock requirement, margin requirements,
     * and other risk metrics needed to understand cross-margin health.
     *
     * @generated from protobuf rpc: CrossMarginPoolSnapshot
     */
    crossMarginPoolSnapshot(input: QueryCrossMarginPoolSnapshotRequest, options?: RpcOptions): UnaryCall<QueryCrossMarginPoolSnapshotRequest, QueryCrossMarginPoolSnapshotResponse>;
    /**
     * Retrieves the entire exchange module's state
     *
     * @generated from protobuf rpc: ExchangeModuleState
     */
    exchangeModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse>;
    /**
     * Retrieves the entire exchange module's positions
     *
     * @generated from protobuf rpc: Positions
     */
    positions(input: QueryPositionsRequest, options?: RpcOptions): UnaryCall<QueryPositionsRequest, QueryPositionsResponse>;
    /**
     * Retrieves all positions in market
     *
     * @generated from protobuf rpc: PositionsInMarket
     */
    positionsInMarket(input: QueryPositionsInMarketRequest, options?: RpcOptions): UnaryCall<QueryPositionsInMarketRequest, QueryPositionsInMarketResponse>;
    /**
     * Retrieves subaccount's positions
     *
     * @generated from protobuf rpc: SubaccountPositions
     */
    subaccountPositions(input: QuerySubaccountPositionsRequest, options?: RpcOptions): UnaryCall<QuerySubaccountPositionsRequest, QuerySubaccountPositionsResponse>;
    /**
     * Retrieves subaccount's position in market
     *
     * @generated from protobuf rpc: SubaccountPositionInMarket
     */
    subaccountPositionInMarket(input: QuerySubaccountPositionInMarketRequest, options?: RpcOptions): UnaryCall<QuerySubaccountPositionInMarketRequest, QuerySubaccountPositionInMarketResponse>;
    /**
     * Retrieves subaccount's position in market
     *
     * @generated from protobuf rpc: SubaccountEffectivePositionInMarket
     */
    subaccountEffectivePositionInMarket(input: QuerySubaccountEffectivePositionInMarketRequest, options?: RpcOptions): UnaryCall<QuerySubaccountEffectivePositionInMarketRequest, QuerySubaccountEffectivePositionInMarketResponse>;
    /**
     * Retrieves perpetual market info
     *
     * @generated from protobuf rpc: PerpetualMarketInfo
     */
    perpetualMarketInfo(input: QueryPerpetualMarketInfoRequest, options?: RpcOptions): UnaryCall<QueryPerpetualMarketInfoRequest, QueryPerpetualMarketInfoResponse>;
    /**
     * Retrieves expiry market info
     *
     * @generated from protobuf rpc: ExpiryFuturesMarketInfo
     */
    expiryFuturesMarketInfo(input: QueryExpiryFuturesMarketInfoRequest, options?: RpcOptions): UnaryCall<QueryExpiryFuturesMarketInfoRequest, QueryExpiryFuturesMarketInfoResponse>;
    /**
     * Retrieves perpetual market funding
     *
     * @generated from protobuf rpc: PerpetualMarketFunding
     */
    perpetualMarketFunding(input: QueryPerpetualMarketFundingRequest, options?: RpcOptions): UnaryCall<QueryPerpetualMarketFundingRequest, QueryPerpetualMarketFundingResponse>;
    /**
     * Retrieves subaccount's order metadata
     *
     * @generated from protobuf rpc: SubaccountOrderMetadata
     */
    subaccountOrderMetadata(input: QuerySubaccountOrderMetadataRequest, options?: RpcOptions): UnaryCall<QuerySubaccountOrderMetadataRequest, QuerySubaccountOrderMetadataResponse>;
    /**
     * Retrieves the account and total trade rewards points
     *
     * @generated from protobuf rpc: TradeRewardPoints
     */
    tradeRewardPoints(input: QueryTradeRewardPointsRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse>;
    /**
     * Retrieves the pending account and total trade rewards points
     *
     * @generated from protobuf rpc: PendingTradeRewardPoints
     */
    pendingTradeRewardPoints(input: QueryTradeRewardPointsRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse>;
    /**
     * Retrieves the trade reward campaign
     *
     * @generated from protobuf rpc: TradeRewardCampaign
     */
    tradeRewardCampaign(input: QueryTradeRewardCampaignRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardCampaignRequest, QueryTradeRewardCampaignResponse>;
    /**
     * Retrieves the account's fee discount info
     *
     * @generated from protobuf rpc: FeeDiscountAccountInfo
     */
    feeDiscountAccountInfo(input: QueryFeeDiscountAccountInfoRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountAccountInfoRequest, QueryFeeDiscountAccountInfoResponse>;
    /**
     * Retrieves the fee discount schedule
     *
     * @generated from protobuf rpc: FeeDiscountSchedule
     */
    feeDiscountSchedule(input: QueryFeeDiscountScheduleRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountScheduleRequest, QueryFeeDiscountScheduleResponse>;
    /**
     * Retrieves mismatches between available vs. total balance
     *
     * @generated from protobuf rpc: BalanceMismatches
     */
    balanceMismatches(input: QueryBalanceMismatchesRequest, options?: RpcOptions): UnaryCall<QueryBalanceMismatchesRequest, QueryBalanceMismatchesResponse>;
    /**
     * Retrieves available and total balances with balance holds
     *
     * @generated from protobuf rpc: BalanceWithBalanceHolds
     */
    balanceWithBalanceHolds(input: QueryBalanceWithBalanceHoldsRequest, options?: RpcOptions): UnaryCall<QueryBalanceWithBalanceHoldsRequest, QueryBalanceWithBalanceHoldsResponse>;
    /**
     * Retrieves fee discount tier stats
     *
     * @generated from protobuf rpc: FeeDiscountTierStatistics
     */
    feeDiscountTierStatistics(input: QueryFeeDiscountTierStatisticsRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountTierStatisticsRequest, QueryFeeDiscountTierStatisticsResponse>;
    /**
     * Retrieves market making pool info
     *
     * @generated from protobuf rpc: MitoVaultInfos
     */
    mitoVaultInfos(input: MitoVaultInfosRequest, options?: RpcOptions): UnaryCall<MitoVaultInfosRequest, MitoVaultInfosResponse>;
    /**
     * QueryMarketIDFromVault returns the market ID for a given vault subaccount
     * ID
     *
     * @generated from protobuf rpc: QueryMarketIDFromVault
     */
    queryMarketIDFromVault(input: QueryMarketIDFromVaultRequest, options?: RpcOptions): UnaryCall<QueryMarketIDFromVaultRequest, QueryMarketIDFromVaultResponse>;
    /**
     * Retrieves historical trade records for a given market ID
     *
     * @generated from protobuf rpc: HistoricalTradeRecords
     */
    historicalTradeRecords(input: QueryHistoricalTradeRecordsRequest, options?: RpcOptions): UnaryCall<QueryHistoricalTradeRecordsRequest, QueryHistoricalTradeRecordsResponse>;
    /**
     * Retrieves if the account is opted out of rewards
     *
     * @generated from protobuf rpc: IsOptedOutOfRewards
     */
    isOptedOutOfRewards(input: QueryIsOptedOutOfRewardsRequest, options?: RpcOptions): UnaryCall<QueryIsOptedOutOfRewardsRequest, QueryIsOptedOutOfRewardsResponse>;
    /**
     * Retrieves all accounts opted out of rewards
     *
     * @generated from protobuf rpc: OptedOutOfRewardsAccounts
     */
    optedOutOfRewardsAccounts(input: QueryOptedOutOfRewardsAccountsRequest, options?: RpcOptions): UnaryCall<QueryOptedOutOfRewardsAccountsRequest, QueryOptedOutOfRewardsAccountsResponse>;
    /**
     * MarketVolatility computes the volatility for spot and derivative markets
     * trading history.
     *
     * @generated from protobuf rpc: MarketVolatility
     */
    marketVolatility(input: QueryMarketVolatilityRequest, options?: RpcOptions): UnaryCall<QueryMarketVolatilityRequest, QueryMarketVolatilityResponse>;
    /**
     * Retrieves all binary options markets
     *
     * @generated from protobuf rpc: BinaryOptionsMarkets
     */
    binaryOptionsMarkets(input: QueryBinaryMarketsRequest, options?: RpcOptions): UnaryCall<QueryBinaryMarketsRequest, QueryBinaryMarketsResponse>;
    /**
     * Retrieves a trader's derivative conditional orders
     *
     * @generated from protobuf rpc: TraderDerivativeConditionalOrders
     */
    traderDerivativeConditionalOrders(input: QueryTraderDerivativeConditionalOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeConditionalOrdersRequest, QueryTraderDerivativeConditionalOrdersResponse>;
    /**
     * @generated from protobuf rpc: MarketAtomicExecutionFeeMultiplier
     */
    marketAtomicExecutionFeeMultiplier(input: QueryMarketAtomicExecutionFeeMultiplierRequest, options?: RpcOptions): UnaryCall<QueryMarketAtomicExecutionFeeMultiplierRequest, QueryMarketAtomicExecutionFeeMultiplierResponse>;
    /**
     * Retrieves the active stake grant for a grantee
     *
     * @generated from protobuf rpc: ActiveStakeGrant
     */
    activeStakeGrant(input: QueryActiveStakeGrantRequest, options?: RpcOptions): UnaryCall<QueryActiveStakeGrantRequest, QueryActiveStakeGrantResponse>;
    /**
     * Retrieves the grant authorization amount for a granter and grantee
     *
     * @generated from protobuf rpc: GrantAuthorization
     */
    grantAuthorization(input: QueryGrantAuthorizationRequest, options?: RpcOptions): UnaryCall<QueryGrantAuthorizationRequest, QueryGrantAuthorizationResponse>;
    /**
     * Retrieves the grant authorization amount for a granter and grantee
     *
     * @generated from protobuf rpc: GrantAuthorizations
     */
    grantAuthorizations(input: QueryGrantAuthorizationsRequest, options?: RpcOptions): UnaryCall<QueryGrantAuthorizationsRequest, QueryGrantAuthorizationsResponse>;
    /**
     * Retrieves a derivative or binary options market's balance
     *
     * @generated from protobuf rpc: MarketBalance
     */
    marketBalance(input: QueryMarketBalanceRequest, options?: RpcOptions): UnaryCall<QueryMarketBalanceRequest, QueryMarketBalanceResponse>;
    /**
     * Retrieves all derivative or binary options market balances
     *
     * @generated from protobuf rpc: MarketBalances
     */
    marketBalances(input: QueryMarketBalancesRequest, options?: RpcOptions): UnaryCall<QueryMarketBalancesRequest, QueryMarketBalancesResponse>;
    /**
     * Retrieves the min notional for a denom
     *
     * @generated from protobuf rpc: DenomMinNotional
     */
    denomMinNotional(input: QueryDenomMinNotionalRequest, options?: RpcOptions): UnaryCall<QueryDenomMinNotionalRequest, QueryDenomMinNotionalResponse>;
    /**
     * Retrieves the min notionals for all denoms
     *
     * @generated from protobuf rpc: DenomMinNotionals
     */
    denomMinNotionals(input: QueryDenomMinNotionalsRequest, options?: RpcOptions): UnaryCall<QueryDenomMinNotionalsRequest, QueryDenomMinNotionalsResponse>;
    /**
     * Retrieves a market's open interest
     *
     * @generated from protobuf rpc: OpenInterest
     */
    openInterest(input: QueryOpenInterestRequest, options?: RpcOptions): UnaryCall<QueryOpenInterestRequest, QueryOpenInterestResponse>;
}
/**
 * Query defines the gRPC querier service.
 *
 * @generated from protobuf service injective.exchange.v2.Query
 */
export class QueryClient implements IQueryClient, ServiceInfo {
    typeName = Query.typeName;
    methods = Query.methods;
    options = Query.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: L3DerivativeOrderBook
     */
    l3DerivativeOrderBook(input: QueryFullDerivativeOrderbookRequest, options?: RpcOptions): UnaryCall<QueryFullDerivativeOrderbookRequest, QueryFullDerivativeOrderbookResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFullDerivativeOrderbookRequest, QueryFullDerivativeOrderbookResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: L3SpotOrderBook
     */
    l3SpotOrderBook(input: QueryFullSpotOrderbookRequest, options?: RpcOptions): UnaryCall<QueryFullSpotOrderbookRequest, QueryFullSpotOrderbookResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFullSpotOrderbookRequest, QueryFullSpotOrderbookResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves exchange params
     *
     * @generated from protobuf rpc: QueryExchangeParams
     */
    queryExchangeParams(input: QueryExchangeParamsRequest, options?: RpcOptions): UnaryCall<QueryExchangeParamsRequest, QueryExchangeParamsResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryExchangeParamsRequest, QueryExchangeParamsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a Subaccount's Deposits
     *
     * @generated from protobuf rpc: SubaccountDeposits
     */
    subaccountDeposits(input: QuerySubaccountDepositsRequest, options?: RpcOptions): UnaryCall<QuerySubaccountDepositsRequest, QuerySubaccountDepositsResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountDepositsRequest, QuerySubaccountDepositsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a Subaccount's Deposits
     *
     * @generated from protobuf rpc: SubaccountDeposit
     */
    subaccountDeposit(input: QuerySubaccountDepositRequest, options?: RpcOptions): UnaryCall<QuerySubaccountDepositRequest, QuerySubaccountDepositResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountDepositRequest, QuerySubaccountDepositResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all of the balances of all users on the exchange.
     *
     * @generated from protobuf rpc: ExchangeBalances
     */
    exchangeBalances(input: QueryExchangeBalancesRequest, options?: RpcOptions): UnaryCall<QueryExchangeBalancesRequest, QueryExchangeBalancesResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryExchangeBalancesRequest, QueryExchangeBalancesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the aggregate volumes for the specified account or subaccount
     *
     * @generated from protobuf rpc: AggregateVolume
     */
    aggregateVolume(input: QueryAggregateVolumeRequest, options?: RpcOptions): UnaryCall<QueryAggregateVolumeRequest, QueryAggregateVolumeResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAggregateVolumeRequest, QueryAggregateVolumeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the aggregate volumes for specified accounts
     *
     * @generated from protobuf rpc: AggregateVolumes
     */
    aggregateVolumes(input: QueryAggregateVolumesRequest, options?: RpcOptions): UnaryCall<QueryAggregateVolumesRequest, QueryAggregateVolumesResponse> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAggregateVolumesRequest, QueryAggregateVolumesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the aggregate volume for the specified market
     *
     * @generated from protobuf rpc: AggregateMarketVolume
     */
    aggregateMarketVolume(input: QueryAggregateMarketVolumeRequest, options?: RpcOptions): UnaryCall<QueryAggregateMarketVolumeRequest, QueryAggregateMarketVolumeResponse> {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAggregateMarketVolumeRequest, QueryAggregateMarketVolumeResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the aggregate market volumes for specified markets
     *
     * @generated from protobuf rpc: AggregateMarketVolumes
     */
    aggregateMarketVolumes(input: QueryAggregateMarketVolumesRequest, options?: RpcOptions): UnaryCall<QueryAggregateMarketVolumesRequest, QueryAggregateMarketVolumesResponse> {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAggregateMarketVolumesRequest, QueryAggregateMarketVolumesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the denom decimals for a denom.
     *
     * @generated from protobuf rpc: AuctionExchangeTransferDenomDecimal
     */
    auctionExchangeTransferDenomDecimal(input: QueryAuctionExchangeTransferDenomDecimalRequest, options?: RpcOptions): UnaryCall<QueryAuctionExchangeTransferDenomDecimalRequest, QueryAuctionExchangeTransferDenomDecimalResponse> {
        const method = this.methods[10], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAuctionExchangeTransferDenomDecimalRequest, QueryAuctionExchangeTransferDenomDecimalResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the denom decimals for multiple denoms. Returns all denom
     * decimals if unspecified.
     *
     * @generated from protobuf rpc: AuctionExchangeTransferDenomDecimals
     */
    auctionExchangeTransferDenomDecimals(input: QueryAuctionExchangeTransferDenomDecimalsRequest, options?: RpcOptions): UnaryCall<QueryAuctionExchangeTransferDenomDecimalsRequest, QueryAuctionExchangeTransferDenomDecimalsResponse> {
        const method = this.methods[11], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAuctionExchangeTransferDenomDecimalsRequest, QueryAuctionExchangeTransferDenomDecimalsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a list of spot markets.
     *
     * @generated from protobuf rpc: SpotMarkets
     */
    spotMarkets(input: QuerySpotMarketsRequest, options?: RpcOptions): UnaryCall<QuerySpotMarketsRequest, QuerySpotMarketsResponse> {
        const method = this.methods[12], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySpotMarketsRequest, QuerySpotMarketsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a spot market by ticker
     *
     * @generated from protobuf rpc: SpotMarket
     */
    spotMarket(input: QuerySpotMarketRequest, options?: RpcOptions): UnaryCall<QuerySpotMarketRequest, QuerySpotMarketResponse> {
        const method = this.methods[13], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySpotMarketRequest, QuerySpotMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a list of spot markets with extra information.
     *
     * @generated from protobuf rpc: FullSpotMarkets
     */
    fullSpotMarkets(input: QueryFullSpotMarketsRequest, options?: RpcOptions): UnaryCall<QueryFullSpotMarketsRequest, QueryFullSpotMarketsResponse> {
        const method = this.methods[14], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFullSpotMarketsRequest, QueryFullSpotMarketsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a spot market with extra information.
     *
     * @generated from protobuf rpc: FullSpotMarket
     */
    fullSpotMarket(input: QueryFullSpotMarketRequest, options?: RpcOptions): UnaryCall<QueryFullSpotMarketRequest, QueryFullSpotMarketResponse> {
        const method = this.methods[15], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFullSpotMarketRequest, QueryFullSpotMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a spot market's orderbook by marketID
     *
     * @generated from protobuf rpc: SpotOrderbook
     */
    spotOrderbook(input: QuerySpotOrderbookRequest, options?: RpcOptions): UnaryCall<QuerySpotOrderbookRequest, QuerySpotOrderbookResponse> {
        const method = this.methods[16], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySpotOrderbookRequest, QuerySpotOrderbookResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's spot orders
     *
     * @generated from protobuf rpc: TraderSpotOrders
     */
    traderSpotOrders(input: QueryTraderSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse> {
        const method = this.methods[17], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all account address spot orders
     *
     * @generated from protobuf rpc: AccountAddressSpotOrders
     */
    accountAddressSpotOrders(input: QueryAccountAddressSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryAccountAddressSpotOrdersRequest, QueryAccountAddressSpotOrdersResponse> {
        const method = this.methods[18], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAccountAddressSpotOrdersRequest, QueryAccountAddressSpotOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves spot orders corresponding to specified order hashes for a given
     * subaccountID and marketID
     *
     * @generated from protobuf rpc: SpotOrdersByHashes
     */
    spotOrdersByHashes(input: QuerySpotOrdersByHashesRequest, options?: RpcOptions): UnaryCall<QuerySpotOrdersByHashesRequest, QuerySpotOrdersByHashesResponse> {
        const method = this.methods[19], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySpotOrdersByHashesRequest, QuerySpotOrdersByHashesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves subaccount's orders
     *
     * @generated from protobuf rpc: SubaccountOrders
     */
    subaccountOrders(input: QuerySubaccountOrdersRequest, options?: RpcOptions): UnaryCall<QuerySubaccountOrdersRequest, QuerySubaccountOrdersResponse> {
        const method = this.methods[20], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountOrdersRequest, QuerySubaccountOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's transient spot orders
     *
     * @generated from protobuf rpc: TraderSpotTransientOrders
     */
    traderSpotTransientOrders(input: QueryTraderSpotOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse> {
        const method = this.methods[21], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTraderSpotOrdersRequest, QueryTraderSpotOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a spot market's mid-price
     *
     * @generated from protobuf rpc: SpotMidPriceAndTOB
     */
    spotMidPriceAndTOB(input: QuerySpotMidPriceAndTOBRequest, options?: RpcOptions): UnaryCall<QuerySpotMidPriceAndTOBRequest, QuerySpotMidPriceAndTOBResponse> {
        const method = this.methods[22], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySpotMidPriceAndTOBRequest, QuerySpotMidPriceAndTOBResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a derivative market's mid-price
     *
     * @generated from protobuf rpc: DerivativeMidPriceAndTOB
     */
    derivativeMidPriceAndTOB(input: QueryDerivativeMidPriceAndTOBRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMidPriceAndTOBRequest, QueryDerivativeMidPriceAndTOBResponse> {
        const method = this.methods[23], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeMidPriceAndTOBRequest, QueryDerivativeMidPriceAndTOBResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a derivative market's orderbook by marketID
     *
     * @generated from protobuf rpc: DerivativeOrderbook
     */
    derivativeOrderbook(input: QueryDerivativeOrderbookRequest, options?: RpcOptions): UnaryCall<QueryDerivativeOrderbookRequest, QueryDerivativeOrderbookResponse> {
        const method = this.methods[24], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeOrderbookRequest, QueryDerivativeOrderbookResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's derivative orders
     *
     * @generated from protobuf rpc: TraderDerivativeOrders
     */
    traderDerivativeOrders(input: QueryTraderDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse> {
        const method = this.methods[25], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all account address derivative orders
     *
     * @generated from protobuf rpc: AccountAddressDerivativeOrders
     */
    accountAddressDerivativeOrders(input: QueryAccountAddressDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryAccountAddressDerivativeOrdersRequest, QueryAccountAddressDerivativeOrdersResponse> {
        const method = this.methods[26], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryAccountAddressDerivativeOrdersRequest, QueryAccountAddressDerivativeOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's derivative orders
     *
     * @generated from protobuf rpc: DerivativeOrdersByHashes
     */
    derivativeOrdersByHashes(input: QueryDerivativeOrdersByHashesRequest, options?: RpcOptions): UnaryCall<QueryDerivativeOrdersByHashesRequest, QueryDerivativeOrdersByHashesResponse> {
        const method = this.methods[27], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeOrdersByHashesRequest, QueryDerivativeOrdersByHashesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's transient derivative orders
     *
     * @generated from protobuf rpc: TraderDerivativeTransientOrders
     */
    traderDerivativeTransientOrders(input: QueryTraderDerivativeOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse> {
        const method = this.methods[28], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTraderDerivativeOrdersRequest, QueryTraderDerivativeOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a list of derivative markets.
     *
     * @generated from protobuf rpc: DerivativeMarkets
     */
    derivativeMarkets(input: QueryDerivativeMarketsRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketsRequest, QueryDerivativeMarketsResponse> {
        const method = this.methods[29], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeMarketsRequest, QueryDerivativeMarketsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a derivative market by ticker
     *
     * @generated from protobuf rpc: DerivativeMarket
     */
    derivativeMarket(input: QueryDerivativeMarketRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketRequest, QueryDerivativeMarketResponse> {
        const method = this.methods[30], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeMarketRequest, QueryDerivativeMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a derivative market's corresponding address for fees that
     * contribute to the market's insurance fund
     *
     * @generated from protobuf rpc: DerivativeMarketAddress
     */
    derivativeMarketAddress(input: QueryDerivativeMarketAddressRequest, options?: RpcOptions): UnaryCall<QueryDerivativeMarketAddressRequest, QueryDerivativeMarketAddressResponse> {
        const method = this.methods[31], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDerivativeMarketAddressRequest, QueryDerivativeMarketAddressResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a subaccount's trade nonce
     *
     * @generated from protobuf rpc: SubaccountTradeNonce
     */
    subaccountTradeNonce(input: QuerySubaccountTradeNonceRequest, options?: RpcOptions): UnaryCall<QuerySubaccountTradeNonceRequest, QuerySubaccountTradeNonceResponse> {
        const method = this.methods[32], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountTradeNonceRequest, QuerySubaccountTradeNonceResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a subaccount's risk profile
     *
     * @generated from protobuf rpc: SubaccountRiskProfile
     */
    subaccountRiskProfile(input: QuerySubaccountRiskProfileRequest, options?: RpcOptions): UnaryCall<QuerySubaccountRiskProfileRequest, QuerySubaccountRiskProfileResponse> {
        const method = this.methods[33], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountRiskProfileRequest, QuerySubaccountRiskProfileResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a subaccount's cross-margin pool snapshot for a given quote
     * denom. Returns current equity, order lock requirement, margin requirements,
     * and other risk metrics needed to understand cross-margin health.
     *
     * @generated from protobuf rpc: CrossMarginPoolSnapshot
     */
    crossMarginPoolSnapshot(input: QueryCrossMarginPoolSnapshotRequest, options?: RpcOptions): UnaryCall<QueryCrossMarginPoolSnapshotRequest, QueryCrossMarginPoolSnapshotResponse> {
        const method = this.methods[34], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryCrossMarginPoolSnapshotRequest, QueryCrossMarginPoolSnapshotResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the entire exchange module's state
     *
     * @generated from protobuf rpc: ExchangeModuleState
     */
    exchangeModuleState(input: QueryModuleStateRequest, options?: RpcOptions): UnaryCall<QueryModuleStateRequest, QueryModuleStateResponse> {
        const method = this.methods[35], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryModuleStateRequest, QueryModuleStateResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the entire exchange module's positions
     *
     * @generated from protobuf rpc: Positions
     */
    positions(input: QueryPositionsRequest, options?: RpcOptions): UnaryCall<QueryPositionsRequest, QueryPositionsResponse> {
        const method = this.methods[36], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPositionsRequest, QueryPositionsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all positions in market
     *
     * @generated from protobuf rpc: PositionsInMarket
     */
    positionsInMarket(input: QueryPositionsInMarketRequest, options?: RpcOptions): UnaryCall<QueryPositionsInMarketRequest, QueryPositionsInMarketResponse> {
        const method = this.methods[37], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPositionsInMarketRequest, QueryPositionsInMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves subaccount's positions
     *
     * @generated from protobuf rpc: SubaccountPositions
     */
    subaccountPositions(input: QuerySubaccountPositionsRequest, options?: RpcOptions): UnaryCall<QuerySubaccountPositionsRequest, QuerySubaccountPositionsResponse> {
        const method = this.methods[38], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountPositionsRequest, QuerySubaccountPositionsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves subaccount's position in market
     *
     * @generated from protobuf rpc: SubaccountPositionInMarket
     */
    subaccountPositionInMarket(input: QuerySubaccountPositionInMarketRequest, options?: RpcOptions): UnaryCall<QuerySubaccountPositionInMarketRequest, QuerySubaccountPositionInMarketResponse> {
        const method = this.methods[39], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountPositionInMarketRequest, QuerySubaccountPositionInMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves subaccount's position in market
     *
     * @generated from protobuf rpc: SubaccountEffectivePositionInMarket
     */
    subaccountEffectivePositionInMarket(input: QuerySubaccountEffectivePositionInMarketRequest, options?: RpcOptions): UnaryCall<QuerySubaccountEffectivePositionInMarketRequest, QuerySubaccountEffectivePositionInMarketResponse> {
        const method = this.methods[40], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountEffectivePositionInMarketRequest, QuerySubaccountEffectivePositionInMarketResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves perpetual market info
     *
     * @generated from protobuf rpc: PerpetualMarketInfo
     */
    perpetualMarketInfo(input: QueryPerpetualMarketInfoRequest, options?: RpcOptions): UnaryCall<QueryPerpetualMarketInfoRequest, QueryPerpetualMarketInfoResponse> {
        const method = this.methods[41], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPerpetualMarketInfoRequest, QueryPerpetualMarketInfoResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves expiry market info
     *
     * @generated from protobuf rpc: ExpiryFuturesMarketInfo
     */
    expiryFuturesMarketInfo(input: QueryExpiryFuturesMarketInfoRequest, options?: RpcOptions): UnaryCall<QueryExpiryFuturesMarketInfoRequest, QueryExpiryFuturesMarketInfoResponse> {
        const method = this.methods[42], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryExpiryFuturesMarketInfoRequest, QueryExpiryFuturesMarketInfoResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves perpetual market funding
     *
     * @generated from protobuf rpc: PerpetualMarketFunding
     */
    perpetualMarketFunding(input: QueryPerpetualMarketFundingRequest, options?: RpcOptions): UnaryCall<QueryPerpetualMarketFundingRequest, QueryPerpetualMarketFundingResponse> {
        const method = this.methods[43], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryPerpetualMarketFundingRequest, QueryPerpetualMarketFundingResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves subaccount's order metadata
     *
     * @generated from protobuf rpc: SubaccountOrderMetadata
     */
    subaccountOrderMetadata(input: QuerySubaccountOrderMetadataRequest, options?: RpcOptions): UnaryCall<QuerySubaccountOrderMetadataRequest, QuerySubaccountOrderMetadataResponse> {
        const method = this.methods[44], opt = this._transport.mergeOptions(options);
        return stackIntercept<QuerySubaccountOrderMetadataRequest, QuerySubaccountOrderMetadataResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the account and total trade rewards points
     *
     * @generated from protobuf rpc: TradeRewardPoints
     */
    tradeRewardPoints(input: QueryTradeRewardPointsRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse> {
        const method = this.methods[45], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the pending account and total trade rewards points
     *
     * @generated from protobuf rpc: PendingTradeRewardPoints
     */
    pendingTradeRewardPoints(input: QueryTradeRewardPointsRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse> {
        const method = this.methods[46], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTradeRewardPointsRequest, QueryTradeRewardPointsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the trade reward campaign
     *
     * @generated from protobuf rpc: TradeRewardCampaign
     */
    tradeRewardCampaign(input: QueryTradeRewardCampaignRequest, options?: RpcOptions): UnaryCall<QueryTradeRewardCampaignRequest, QueryTradeRewardCampaignResponse> {
        const method = this.methods[47], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTradeRewardCampaignRequest, QueryTradeRewardCampaignResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the account's fee discount info
     *
     * @generated from protobuf rpc: FeeDiscountAccountInfo
     */
    feeDiscountAccountInfo(input: QueryFeeDiscountAccountInfoRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountAccountInfoRequest, QueryFeeDiscountAccountInfoResponse> {
        const method = this.methods[48], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFeeDiscountAccountInfoRequest, QueryFeeDiscountAccountInfoResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the fee discount schedule
     *
     * @generated from protobuf rpc: FeeDiscountSchedule
     */
    feeDiscountSchedule(input: QueryFeeDiscountScheduleRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountScheduleRequest, QueryFeeDiscountScheduleResponse> {
        const method = this.methods[49], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFeeDiscountScheduleRequest, QueryFeeDiscountScheduleResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves mismatches between available vs. total balance
     *
     * @generated from protobuf rpc: BalanceMismatches
     */
    balanceMismatches(input: QueryBalanceMismatchesRequest, options?: RpcOptions): UnaryCall<QueryBalanceMismatchesRequest, QueryBalanceMismatchesResponse> {
        const method = this.methods[50], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBalanceMismatchesRequest, QueryBalanceMismatchesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves available and total balances with balance holds
     *
     * @generated from protobuf rpc: BalanceWithBalanceHolds
     */
    balanceWithBalanceHolds(input: QueryBalanceWithBalanceHoldsRequest, options?: RpcOptions): UnaryCall<QueryBalanceWithBalanceHoldsRequest, QueryBalanceWithBalanceHoldsResponse> {
        const method = this.methods[51], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBalanceWithBalanceHoldsRequest, QueryBalanceWithBalanceHoldsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves fee discount tier stats
     *
     * @generated from protobuf rpc: FeeDiscountTierStatistics
     */
    feeDiscountTierStatistics(input: QueryFeeDiscountTierStatisticsRequest, options?: RpcOptions): UnaryCall<QueryFeeDiscountTierStatisticsRequest, QueryFeeDiscountTierStatisticsResponse> {
        const method = this.methods[52], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryFeeDiscountTierStatisticsRequest, QueryFeeDiscountTierStatisticsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves market making pool info
     *
     * @generated from protobuf rpc: MitoVaultInfos
     */
    mitoVaultInfos(input: MitoVaultInfosRequest, options?: RpcOptions): UnaryCall<MitoVaultInfosRequest, MitoVaultInfosResponse> {
        const method = this.methods[53], opt = this._transport.mergeOptions(options);
        return stackIntercept<MitoVaultInfosRequest, MitoVaultInfosResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * QueryMarketIDFromVault returns the market ID for a given vault subaccount
     * ID
     *
     * @generated from protobuf rpc: QueryMarketIDFromVault
     */
    queryMarketIDFromVault(input: QueryMarketIDFromVaultRequest, options?: RpcOptions): UnaryCall<QueryMarketIDFromVaultRequest, QueryMarketIDFromVaultResponse> {
        const method = this.methods[54], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryMarketIDFromVaultRequest, QueryMarketIDFromVaultResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves historical trade records for a given market ID
     *
     * @generated from protobuf rpc: HistoricalTradeRecords
     */
    historicalTradeRecords(input: QueryHistoricalTradeRecordsRequest, options?: RpcOptions): UnaryCall<QueryHistoricalTradeRecordsRequest, QueryHistoricalTradeRecordsResponse> {
        const method = this.methods[55], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryHistoricalTradeRecordsRequest, QueryHistoricalTradeRecordsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves if the account is opted out of rewards
     *
     * @generated from protobuf rpc: IsOptedOutOfRewards
     */
    isOptedOutOfRewards(input: QueryIsOptedOutOfRewardsRequest, options?: RpcOptions): UnaryCall<QueryIsOptedOutOfRewardsRequest, QueryIsOptedOutOfRewardsResponse> {
        const method = this.methods[56], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryIsOptedOutOfRewardsRequest, QueryIsOptedOutOfRewardsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all accounts opted out of rewards
     *
     * @generated from protobuf rpc: OptedOutOfRewardsAccounts
     */
    optedOutOfRewardsAccounts(input: QueryOptedOutOfRewardsAccountsRequest, options?: RpcOptions): UnaryCall<QueryOptedOutOfRewardsAccountsRequest, QueryOptedOutOfRewardsAccountsResponse> {
        const method = this.methods[57], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOptedOutOfRewardsAccountsRequest, QueryOptedOutOfRewardsAccountsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * MarketVolatility computes the volatility for spot and derivative markets
     * trading history.
     *
     * @generated from protobuf rpc: MarketVolatility
     */
    marketVolatility(input: QueryMarketVolatilityRequest, options?: RpcOptions): UnaryCall<QueryMarketVolatilityRequest, QueryMarketVolatilityResponse> {
        const method = this.methods[58], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryMarketVolatilityRequest, QueryMarketVolatilityResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all binary options markets
     *
     * @generated from protobuf rpc: BinaryOptionsMarkets
     */
    binaryOptionsMarkets(input: QueryBinaryMarketsRequest, options?: RpcOptions): UnaryCall<QueryBinaryMarketsRequest, QueryBinaryMarketsResponse> {
        const method = this.methods[59], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryBinaryMarketsRequest, QueryBinaryMarketsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a trader's derivative conditional orders
     *
     * @generated from protobuf rpc: TraderDerivativeConditionalOrders
     */
    traderDerivativeConditionalOrders(input: QueryTraderDerivativeConditionalOrdersRequest, options?: RpcOptions): UnaryCall<QueryTraderDerivativeConditionalOrdersRequest, QueryTraderDerivativeConditionalOrdersResponse> {
        const method = this.methods[60], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryTraderDerivativeConditionalOrdersRequest, QueryTraderDerivativeConditionalOrdersResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: MarketAtomicExecutionFeeMultiplier
     */
    marketAtomicExecutionFeeMultiplier(input: QueryMarketAtomicExecutionFeeMultiplierRequest, options?: RpcOptions): UnaryCall<QueryMarketAtomicExecutionFeeMultiplierRequest, QueryMarketAtomicExecutionFeeMultiplierResponse> {
        const method = this.methods[61], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryMarketAtomicExecutionFeeMultiplierRequest, QueryMarketAtomicExecutionFeeMultiplierResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the active stake grant for a grantee
     *
     * @generated from protobuf rpc: ActiveStakeGrant
     */
    activeStakeGrant(input: QueryActiveStakeGrantRequest, options?: RpcOptions): UnaryCall<QueryActiveStakeGrantRequest, QueryActiveStakeGrantResponse> {
        const method = this.methods[62], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryActiveStakeGrantRequest, QueryActiveStakeGrantResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the grant authorization amount for a granter and grantee
     *
     * @generated from protobuf rpc: GrantAuthorization
     */
    grantAuthorization(input: QueryGrantAuthorizationRequest, options?: RpcOptions): UnaryCall<QueryGrantAuthorizationRequest, QueryGrantAuthorizationResponse> {
        const method = this.methods[63], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryGrantAuthorizationRequest, QueryGrantAuthorizationResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the grant authorization amount for a granter and grantee
     *
     * @generated from protobuf rpc: GrantAuthorizations
     */
    grantAuthorizations(input: QueryGrantAuthorizationsRequest, options?: RpcOptions): UnaryCall<QueryGrantAuthorizationsRequest, QueryGrantAuthorizationsResponse> {
        const method = this.methods[64], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryGrantAuthorizationsRequest, QueryGrantAuthorizationsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a derivative or binary options market's balance
     *
     * @generated from protobuf rpc: MarketBalance
     */
    marketBalance(input: QueryMarketBalanceRequest, options?: RpcOptions): UnaryCall<QueryMarketBalanceRequest, QueryMarketBalanceResponse> {
        const method = this.methods[65], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryMarketBalanceRequest, QueryMarketBalanceResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves all derivative or binary options market balances
     *
     * @generated from protobuf rpc: MarketBalances
     */
    marketBalances(input: QueryMarketBalancesRequest, options?: RpcOptions): UnaryCall<QueryMarketBalancesRequest, QueryMarketBalancesResponse> {
        const method = this.methods[66], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryMarketBalancesRequest, QueryMarketBalancesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the min notional for a denom
     *
     * @generated from protobuf rpc: DenomMinNotional
     */
    denomMinNotional(input: QueryDenomMinNotionalRequest, options?: RpcOptions): UnaryCall<QueryDenomMinNotionalRequest, QueryDenomMinNotionalResponse> {
        const method = this.methods[67], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDenomMinNotionalRequest, QueryDenomMinNotionalResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves the min notionals for all denoms
     *
     * @generated from protobuf rpc: DenomMinNotionals
     */
    denomMinNotionals(input: QueryDenomMinNotionalsRequest, options?: RpcOptions): UnaryCall<QueryDenomMinNotionalsRequest, QueryDenomMinNotionalsResponse> {
        const method = this.methods[68], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryDenomMinNotionalsRequest, QueryDenomMinNotionalsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * Retrieves a market's open interest
     *
     * @generated from protobuf rpc: OpenInterest
     */
    openInterest(input: QueryOpenInterestRequest, options?: RpcOptions): UnaryCall<QueryOpenInterestRequest, QueryOpenInterestResponse> {
        const method = this.methods[69], opt = this._transport.mergeOptions(options);
        return stackIntercept<QueryOpenInterestRequest, QueryOpenInterestResponse>("unary", this._transport, method, opt, input);
    }
}
