import { BigNumber } from 'ethers'; import { Config } from '../../../../Fct/Config'; import { AggregatedOrdersDataResult, DecreasePositionAmounts, GasLimitsConfig, IncreasePositionAmounts, Market, MarketsData, MarketsInfoData, PositionInfo, PositionsData, SelectedTradeOption, SwapAmounts, TokenBalancesData, TokenPricesData, TokensData, TradeFeesType, TradeMode, TradeType } from '../types'; import { PositionsInfoData } from '../utils'; type BalancesDataResult = { balancesData?: TokenBalancesData; }; export declare class GMXHelper extends Config { marketsInfo: MarketsInfoData | undefined; tokensData: { tokensData: TokensData; pricesUpdatedAt: number; } | undefined; getMarketsData: () => Promise<{ marketsData: MarketsData; marketsAddresses: string[]; } | undefined>; getTokenBalances: () => Promise; getTokenRecentPrices: () => Promise<{ pricesData: TokenPricesData; updatedAt: number; }>; getTokensData: () => Promise<{ tokensData: undefined; pricesUpdatedAt: undefined; } | { tokensData: TokensData; pricesUpdatedAt: number; }>; getMarketsInfo: () => Promise<{ marketsInfoData: MarketsInfoData; tokensData: TokensData | undefined; pricesUpdatedAt: number | undefined; } | undefined>; getSwapRoutes: (p: { marketsInfoData?: MarketsInfoData | undefined; fromTokenAddress: string; toTokenAddress: string; }) => { maxLiquidity: BigNumber; maxLiquidityPath: undefined; maxSwapLiquidity?: undefined; maxLiquiditySwapPath?: undefined; findSwapPath?: undefined; } | { maxSwapLiquidity: BigNumber; maxLiquiditySwapPath: string[] | undefined; findSwapPath: (usdIn: BigNumber, opts: { byLiquidity?: boolean; }) => import("../types").SwapPathStats | undefined; maxLiquidity?: undefined; maxLiquidityPath?: undefined; } | undefined; getTokenData: ({ address }: { address: string; }) => Promise; getPositions: ({ marketsInfoData, tokensData, pricesUpdatedAt, }: { marketsInfoData?: MarketsData | undefined; tokensData?: TokensData | undefined; pricesUpdatedAt?: number | undefined; }) => Promise<{ positionsData?: PositionsData | undefined; }>; getIncreaseAmounts: ({ marketsInfoData, fromTokenAddress, toTokenAddress, fromTokenAmount, toTokenAmount, collateralInToken, tradeType, tradeMode, marketAddress, tokensData, }: { fromTokenAddress: string; toTokenAddress: string; collateralInToken: string; tradeType: TradeType; tradeMode: TradeMode; fromTokenAmount: string; toTokenAmount: string; marketsInfoData?: MarketsInfoData | undefined; marketAddress?: string | undefined; tokensData?: TokensData | undefined; }) => Promise<{ marketInfo: import("../types").MarketInfo; values: IncreasePositionAmounts; } | undefined>; getCloseAmounts: ({ closingPositionKey, marketsInfoData, tokensData, pricesUpdatedAt, }: { closingPositionKey: string; marketsInfoData?: MarketsInfoData | undefined; tokensData?: TokensData | undefined; pricesUpdatedAt?: number | undefined; }) => Promise<{ marketInfo: import("../types").MarketInfo; values: DecreasePositionAmounts; position: PositionInfo; } | undefined>; getSelectedPosition: ({ marketAddress, collateralAddress, isLong, positionsInfoData, }: { marketAddress: string; collateralAddress: string; isLong: boolean; positionsInfoData?: PositionsInfoData | undefined; }) => PositionInfo | undefined; getIncreasePositionParams: ({ fromTokenAddress, toTokenAddress, fromTokenAmount, toTokenAmount, collateralInToken, tradeType, tradeMode, marketAddress, referralCode, }: { fromTokenAddress: string; toTokenAddress: string; tradeType: TradeType; tradeMode: TradeMode; fromTokenAmount: string; toTokenAmount: string; collateralInToken: string; marketAddress?: string | undefined; referralCode?: string | undefined; }) => Promise<{ encodedPayload: string[]; totalWntAmount: BigNumber; } | undefined>; getClosePositionParams: ({ closingPositionKey, receiveTokenAddress, }: { closingPositionKey: string; receiveTokenAddress: string; }) => Promise<{ encodedPayload: string[]; totalWntAmount: string; } | undefined>; getSelectedTradeOption: ({ marketsInfoData, tradeType, tradeMode, tokensData, fromTokenAddress, toTokenAddress, collateralInToken, market, }: { tradeType: TradeType; tradeMode: TradeMode; fromTokenAddress: string; toTokenAddress: string; collateralInToken: string; market?: Market | undefined; marketsInfoData?: MarketsInfoData | undefined; tokensData?: TokensData | undefined; }) => SelectedTradeOption | undefined; getIncreaseAmountsFees: ({ increaseAmounts, tokensData, marketsInfoData, pricesUpdatedAt, }: { increaseAmounts: IncreasePositionAmounts; tokensData?: TokensData | undefined; marketsInfoData?: MarketsInfoData | undefined; pricesUpdatedAt?: number | undefined; }) => Promise<{ fees: import("../types").TradeFees; executionFee: import("../types").ExecutionFee | undefined; feesType: TradeFeesType; } | undefined>; getDecreaseAmountsFees: ({ decreaseAmounts, position, receiveTokenAddress, swapAmounts, tokensData, marketsInfoData, pricesUpdatedAt, }: { decreaseAmounts: DecreasePositionAmounts; position: PositionInfo; receiveTokenAddress: string; swapAmounts?: SwapAmounts | undefined; tokensData?: TokensData | undefined; marketsInfoData?: MarketsInfoData | undefined; pricesUpdatedAt?: number | undefined; }) => Promise<{ fees: import("../types").TradeFees; executionFee: import("../types").ExecutionFee | undefined; } | undefined>; getPositionsInfo: ({ marketsInfoData, tokensData, pricesUpdatedAt, }: { marketsInfoData?: MarketsInfoData | undefined; tokensData?: TokensData | undefined; pricesUpdatedAt?: number | undefined; }) => Promise<{ isLoading: boolean; positionsInfoData?: undefined; } | { positionsInfoData: PositionsInfoData; isLoading: boolean; }>; getGasLimits: () => Promise<{ gasLimits?: GasLimitsConfig; }>; getPositionsConstants: () => Promise<{ minCollateralUsd?: BigNumber; minPositionSizeUsd?: BigNumber; }>; getGasPrice: () => Promise; getOrdersInfo: ({ account, marketsInfoData, tokensData, }: { account: string; marketsInfoData?: MarketsInfoData | undefined; tokensData?: TokensData | undefined; }) => Promise; private getOrders; } export {};