///
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;
};
}