import { BigNumber } from '@ethersproject/bignumber'; import { BigNumber as OldBigNumber } from '../../utils/bignumber'; import { PoolBase, PoolPairBase, PoolTypes, SubgraphToken, SwapTypes, SubgraphPoolBase } from '../../types'; export type Gyro3PoolPairData = PoolPairBase & { balanceTertiary: BigNumber; decimalsTertiary: number; }; export type Gyro3PoolToken = Pick; export declare class Gyro3Pool implements PoolBase { poolType: PoolTypes; id: string; address: string; tokensList: string[]; tokens: Gyro3PoolToken[]; swapFee: BigNumber; totalShares: BigNumber; root3Alpha: BigNumber; private static findToken; static fromPool(pool: SubgraphPoolBase): Gyro3Pool; constructor(id: string, address: string, swapFee: string, totalShares: string, tokens: Gyro3PoolToken[], tokensList: string[], root3Alpha: string); parsePoolPairData(tokenIn: string, tokenOut: string): Gyro3PoolPairData; getNormalizedLiquidity(poolPairData: Gyro3PoolPairData): OldBigNumber; getLimitAmountSwap(poolPairData: Gyro3PoolPairData, swapType: SwapTypes): OldBigNumber; updateTokenBalanceForPool(token: string, newBalance: BigNumber): void; _exactTokenInForTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; _tokenInForExactTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapExactTokenInForTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapTokenInForExactTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapExactTokenInForTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapTokenInForExactTokenOut(poolPairData: Gyro3PoolPairData, amount: OldBigNumber): OldBigNumber; }