import { BigNumber } from '@ethersproject/bignumber'; import { BigNumber as OldBigNumber } from '../../utils/bignumber'; import { PoolBase, PoolPairBase, PoolTypes, SubgraphPoolBase, SubgraphToken, SwapTypes } from '../../types'; type FxPoolToken = Pick; export type FxPoolPairData = PoolPairBase & { alpha: BigNumber; beta: BigNumber; lambda: BigNumber; delta: BigNumber; epsilon: BigNumber; tokenInLatestFXPrice: OldBigNumber; tokenOutLatestFXPrice: OldBigNumber; }; export declare class FxPool implements PoolBase { poolType: PoolTypes; id: string; address: string; swapFee: BigNumber; totalShares: BigNumber; tokens: FxPoolToken[]; tokensList: string[]; alpha: BigNumber; beta: BigNumber; lambda: BigNumber; delta: BigNumber; epsilon: BigNumber; static fromPool(pool: SubgraphPoolBase): FxPool; constructor(id: string, address: string, swapFee: string, totalShares: string, tokens: FxPoolToken[], tokensList: string[], alpha: string, beta: string, lambda: string, delta: string, epsilon: string); updateTotalShares: (newTotalShares: BigNumber) => void; mainIndex?: number | undefined; isLBP?: boolean | undefined; _calcTokensOutGivenExactBptIn(bptAmountIn: BigNumber): BigNumber[]; _calcBptOutGivenExactTokensIn(amountsIn: BigNumber[]): BigNumber; parsePoolPairData(tokenIn: string, tokenOut: string): FxPoolPairData; getNormalizedLiquidity(poolPairData: FxPoolPairData): OldBigNumber; getLimitAmountSwap(poolPairData: FxPoolPairData, swapType: SwapTypes): OldBigNumber; updateTokenBalanceForPool(token: string, newBalance: BigNumber): void; _exactTokenInForTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; _tokenInForExactTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapExactTokenInForTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapTokenInForExactTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapExactTokenInForTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapTokenInForExactTokenOut(poolPairData: FxPoolPairData, amount: OldBigNumber): OldBigNumber; } export {};