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