import { Query } from "./query_pb.js";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
class QueryClient {
  constructor(_transport) {
    this._transport = _transport;
    this.typeName = Query.typeName;
    this.methods = Query.methods;
    this.options = Query.options;
  }
  /**
   * @generated from protobuf rpc: L3DerivativeOrderBook
   */
  l3DerivativeOrderBook(input, options) {
    const method = this.methods[0], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * @generated from protobuf rpc: L3SpotOrderBook
   */
  l3SpotOrderBook(input, options) {
    const method = this.methods[1], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves exchange params
   *
   * @generated from protobuf rpc: QueryExchangeParams
   */
  queryExchangeParams(input, options) {
    const method = this.methods[2], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a Subaccount's Deposits
   *
   * @generated from protobuf rpc: SubaccountDeposits
   */
  subaccountDeposits(input, options) {
    const method = this.methods[3], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a Subaccount's Deposits
   *
   * @generated from protobuf rpc: SubaccountDeposit
   */
  subaccountDeposit(input, options) {
    const method = this.methods[4], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all of the balances of all users on the exchange.
   *
   * @generated from protobuf rpc: ExchangeBalances
   */
  exchangeBalances(input, options) {
    const method = this.methods[5], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the aggregate volumes for the specified account or subaccount
   *
   * @generated from protobuf rpc: AggregateVolume
   */
  aggregateVolume(input, options) {
    const method = this.methods[6], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the aggregate volumes for specified accounts
   *
   * @generated from protobuf rpc: AggregateVolumes
   */
  aggregateVolumes(input, options) {
    const method = this.methods[7], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the aggregate volume for the specified market
   *
   * @generated from protobuf rpc: AggregateMarketVolume
   */
  aggregateMarketVolume(input, options) {
    const method = this.methods[8], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the aggregate market volumes for specified markets
   *
   * @generated from protobuf rpc: AggregateMarketVolumes
   */
  aggregateMarketVolumes(input, options) {
    const method = this.methods[9], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the denom decimals for a denom.
   *
   * @generated from protobuf rpc: AuctionExchangeTransferDenomDecimal
   */
  auctionExchangeTransferDenomDecimal(input, options) {
    const method = this.methods[10], opt = this._transport.mergeOptions(options);
    return stackIntercept("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, options) {
    const method = this.methods[11], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a list of spot markets.
   *
   * @generated from protobuf rpc: SpotMarkets
   */
  spotMarkets(input, options) {
    const method = this.methods[12], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a spot market by ticker
   *
   * @generated from protobuf rpc: SpotMarket
   */
  spotMarket(input, options) {
    const method = this.methods[13], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a list of spot markets with extra information.
   *
   * @generated from protobuf rpc: FullSpotMarkets
   */
  fullSpotMarkets(input, options) {
    const method = this.methods[14], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a spot market with extra information.
   *
   * @generated from protobuf rpc: FullSpotMarket
   */
  fullSpotMarket(input, options) {
    const method = this.methods[15], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a spot market's orderbook by marketID
   *
   * @generated from protobuf rpc: SpotOrderbook
   */
  spotOrderbook(input, options) {
    const method = this.methods[16], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's spot orders
   *
   * @generated from protobuf rpc: TraderSpotOrders
   */
  traderSpotOrders(input, options) {
    const method = this.methods[17], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all account address spot orders
   *
   * @generated from protobuf rpc: AccountAddressSpotOrders
   */
  accountAddressSpotOrders(input, options) {
    const method = this.methods[18], opt = this._transport.mergeOptions(options);
    return stackIntercept("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, options) {
    const method = this.methods[19], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves subaccount's orders
   *
   * @generated from protobuf rpc: SubaccountOrders
   */
  subaccountOrders(input, options) {
    const method = this.methods[20], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's transient spot orders
   *
   * @generated from protobuf rpc: TraderSpotTransientOrders
   */
  traderSpotTransientOrders(input, options) {
    const method = this.methods[21], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a spot market's mid-price
   *
   * @generated from protobuf rpc: SpotMidPriceAndTOB
   */
  spotMidPriceAndTOB(input, options) {
    const method = this.methods[22], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a derivative market's mid-price
   *
   * @generated from protobuf rpc: DerivativeMidPriceAndTOB
   */
  derivativeMidPriceAndTOB(input, options) {
    const method = this.methods[23], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a derivative market's orderbook by marketID
   *
   * @generated from protobuf rpc: DerivativeOrderbook
   */
  derivativeOrderbook(input, options) {
    const method = this.methods[24], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's derivative orders
   *
   * @generated from protobuf rpc: TraderDerivativeOrders
   */
  traderDerivativeOrders(input, options) {
    const method = this.methods[25], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all account address derivative orders
   *
   * @generated from protobuf rpc: AccountAddressDerivativeOrders
   */
  accountAddressDerivativeOrders(input, options) {
    const method = this.methods[26], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's derivative orders
   *
   * @generated from protobuf rpc: DerivativeOrdersByHashes
   */
  derivativeOrdersByHashes(input, options) {
    const method = this.methods[27], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's transient derivative orders
   *
   * @generated from protobuf rpc: TraderDerivativeTransientOrders
   */
  traderDerivativeTransientOrders(input, options) {
    const method = this.methods[28], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a list of derivative markets.
   *
   * @generated from protobuf rpc: DerivativeMarkets
   */
  derivativeMarkets(input, options) {
    const method = this.methods[29], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a derivative market by ticker
   *
   * @generated from protobuf rpc: DerivativeMarket
   */
  derivativeMarket(input, options) {
    const method = this.methods[30], opt = this._transport.mergeOptions(options);
    return stackIntercept("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, options) {
    const method = this.methods[31], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a subaccount's trade nonce
   *
   * @generated from protobuf rpc: SubaccountTradeNonce
   */
  subaccountTradeNonce(input, options) {
    const method = this.methods[32], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a subaccount's risk profile
   *
   * @generated from protobuf rpc: SubaccountRiskProfile
   */
  subaccountRiskProfile(input, options) {
    const method = this.methods[33], opt = this._transport.mergeOptions(options);
    return stackIntercept("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, options) {
    const method = this.methods[34], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the entire exchange module's state
   *
   * @generated from protobuf rpc: ExchangeModuleState
   */
  exchangeModuleState(input, options) {
    const method = this.methods[35], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the entire exchange module's positions
   *
   * @generated from protobuf rpc: Positions
   */
  positions(input, options) {
    const method = this.methods[36], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all positions in market
   *
   * @generated from protobuf rpc: PositionsInMarket
   */
  positionsInMarket(input, options) {
    const method = this.methods[37], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves subaccount's positions
   *
   * @generated from protobuf rpc: SubaccountPositions
   */
  subaccountPositions(input, options) {
    const method = this.methods[38], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves subaccount's position in market
   *
   * @generated from protobuf rpc: SubaccountPositionInMarket
   */
  subaccountPositionInMarket(input, options) {
    const method = this.methods[39], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves subaccount's position in market
   *
   * @generated from protobuf rpc: SubaccountEffectivePositionInMarket
   */
  subaccountEffectivePositionInMarket(input, options) {
    const method = this.methods[40], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves perpetual market info
   *
   * @generated from protobuf rpc: PerpetualMarketInfo
   */
  perpetualMarketInfo(input, options) {
    const method = this.methods[41], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves expiry market info
   *
   * @generated from protobuf rpc: ExpiryFuturesMarketInfo
   */
  expiryFuturesMarketInfo(input, options) {
    const method = this.methods[42], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves perpetual market funding
   *
   * @generated from protobuf rpc: PerpetualMarketFunding
   */
  perpetualMarketFunding(input, options) {
    const method = this.methods[43], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves subaccount's order metadata
   *
   * @generated from protobuf rpc: SubaccountOrderMetadata
   */
  subaccountOrderMetadata(input, options) {
    const method = this.methods[44], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the account and total trade rewards points
   *
   * @generated from protobuf rpc: TradeRewardPoints
   */
  tradeRewardPoints(input, options) {
    const method = this.methods[45], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the pending account and total trade rewards points
   *
   * @generated from protobuf rpc: PendingTradeRewardPoints
   */
  pendingTradeRewardPoints(input, options) {
    const method = this.methods[46], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the trade reward campaign
   *
   * @generated from protobuf rpc: TradeRewardCampaign
   */
  tradeRewardCampaign(input, options) {
    const method = this.methods[47], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the account's fee discount info
   *
   * @generated from protobuf rpc: FeeDiscountAccountInfo
   */
  feeDiscountAccountInfo(input, options) {
    const method = this.methods[48], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the fee discount schedule
   *
   * @generated from protobuf rpc: FeeDiscountSchedule
   */
  feeDiscountSchedule(input, options) {
    const method = this.methods[49], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves mismatches between available vs. total balance
   *
   * @generated from protobuf rpc: BalanceMismatches
   */
  balanceMismatches(input, options) {
    const method = this.methods[50], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves available and total balances with balance holds
   *
   * @generated from protobuf rpc: BalanceWithBalanceHolds
   */
  balanceWithBalanceHolds(input, options) {
    const method = this.methods[51], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves fee discount tier stats
   *
   * @generated from protobuf rpc: FeeDiscountTierStatistics
   */
  feeDiscountTierStatistics(input, options) {
    const method = this.methods[52], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves market making pool info
   *
   * @generated from protobuf rpc: MitoVaultInfos
   */
  mitoVaultInfos(input, options) {
    const method = this.methods[53], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * QueryMarketIDFromVault returns the market ID for a given vault subaccount
   * ID
   *
   * @generated from protobuf rpc: QueryMarketIDFromVault
   */
  queryMarketIDFromVault(input, options) {
    const method = this.methods[54], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves historical trade records for a given market ID
   *
   * @generated from protobuf rpc: HistoricalTradeRecords
   */
  historicalTradeRecords(input, options) {
    const method = this.methods[55], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves if the account is opted out of rewards
   *
   * @generated from protobuf rpc: IsOptedOutOfRewards
   */
  isOptedOutOfRewards(input, options) {
    const method = this.methods[56], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all accounts opted out of rewards
   *
   * @generated from protobuf rpc: OptedOutOfRewardsAccounts
   */
  optedOutOfRewardsAccounts(input, options) {
    const method = this.methods[57], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * MarketVolatility computes the volatility for spot and derivative markets
   * trading history.
   *
   * @generated from protobuf rpc: MarketVolatility
   */
  marketVolatility(input, options) {
    const method = this.methods[58], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all binary options markets
   *
   * @generated from protobuf rpc: BinaryOptionsMarkets
   */
  binaryOptionsMarkets(input, options) {
    const method = this.methods[59], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a trader's derivative conditional orders
   *
   * @generated from protobuf rpc: TraderDerivativeConditionalOrders
   */
  traderDerivativeConditionalOrders(input, options) {
    const method = this.methods[60], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * @generated from protobuf rpc: MarketAtomicExecutionFeeMultiplier
   */
  marketAtomicExecutionFeeMultiplier(input, options) {
    const method = this.methods[61], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the active stake grant for a grantee
   *
   * @generated from protobuf rpc: ActiveStakeGrant
   */
  activeStakeGrant(input, options) {
    const method = this.methods[62], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the grant authorization amount for a granter and grantee
   *
   * @generated from protobuf rpc: GrantAuthorization
   */
  grantAuthorization(input, options) {
    const method = this.methods[63], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the grant authorization amount for a granter and grantee
   *
   * @generated from protobuf rpc: GrantAuthorizations
   */
  grantAuthorizations(input, options) {
    const method = this.methods[64], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a derivative or binary options market's balance
   *
   * @generated from protobuf rpc: MarketBalance
   */
  marketBalance(input, options) {
    const method = this.methods[65], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves all derivative or binary options market balances
   *
   * @generated from protobuf rpc: MarketBalances
   */
  marketBalances(input, options) {
    const method = this.methods[66], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the min notional for a denom
   *
   * @generated from protobuf rpc: DenomMinNotional
   */
  denomMinNotional(input, options) {
    const method = this.methods[67], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves the min notionals for all denoms
   *
   * @generated from protobuf rpc: DenomMinNotionals
   */
  denomMinNotionals(input, options) {
    const method = this.methods[68], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
  /**
   * Retrieves a market's open interest
   *
   * @generated from protobuf rpc: OpenInterest
   */
  openInterest(input, options) {
    const method = this.methods[69], opt = this._transport.mergeOptions(options);
    return stackIntercept("unary", this._transport, method, opt, input);
  }
}
export {
  QueryClient
};
