/// import type BN from "bn.js"; import type { ContractOptions } from "web3-eth-contract"; import type { EventLog } from "web3-core"; import type { EventEmitter } from "events"; import type { Callback, NonPayableTransactionObject, BlockType, BaseContract } from "./types"; export interface EventOptions { filter?: object; fromBlock?: BlockType; topics?: string[]; } export interface IGmxReader extends BaseContract { constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IGmxReader; clone(): IGmxReader; methods: { getAmountOut(_vault: string, _tokenIn: string, _tokenOut: string, _amountIn: number | string | BN): NonPayableTransactionObject<{ 0: string; 1: string; }>; getFeeBasisPoints(_vault: string, _tokenIn: string, _tokenOut: string, _amountIn: number | string | BN): NonPayableTransactionObject<{ 0: string; 1: string; 2: string; }>; getFullVaultTokenInfo(_vault: string, _weth: string, _usdgAmount: number | string | BN, _tokens: string[]): NonPayableTransactionObject; getFundingRates(_vault: string, _weth: string, _tokens: string[]): NonPayableTransactionObject; getMaxAmountIn(_vault: string, _tokenIn: string, _tokenOut: string): NonPayableTransactionObject; getPairInfo(_factory: string, _tokens: string[]): NonPayableTransactionObject; getPositions(_vault: string, _account: string, _collateralTokens: string[], _indexTokens: string[], _isLong: boolean[]): NonPayableTransactionObject; getPrices(_priceFeed: string, _tokens: string[]): NonPayableTransactionObject; getStakingInfo(_account: string, _yieldTrackers: string[]): NonPayableTransactionObject; getTokenBalances(_account: string, _tokens: string[]): NonPayableTransactionObject; getTokenBalancesWithSupplies(_account: string, _tokens: string[]): NonPayableTransactionObject; getTokenSupply(_token: string, _excludedAccounts: string[]): NonPayableTransactionObject; getTotalBalance(_token: string, _accounts: string[]): NonPayableTransactionObject; getTotalStaked(_yieldTokens: string[]): NonPayableTransactionObject; getVaultTokenInfo(_vault: string, _weth: string, _usdgAmount: number | string | BN, _tokens: string[]): NonPayableTransactionObject; getVaultTokenInfoV2(_vault: string, _weth: string, _usdgAmount: number | string | BN, _tokens: string[]): NonPayableTransactionObject; getVestingInfo(_account: string, _vesters: string[]): NonPayableTransactionObject; }; events: { allEvents(options?: EventOptions, cb?: Callback): EventEmitter; }; }