import { BigNumber } from '@ethersproject/bignumber'; import { BigNumber as OldBigNumber } from '../../utils/bignumber'; import { PoolBase, PoolPairBase, PoolTypes, SubgraphToken, SwapTypes, SubgraphPoolBase } from '../../types'; import { GyroEParams, DerivedGyroEParams } from './gyroEMath/gyroEMathHelpers'; export declare type GyroEPoolPairData = PoolPairBase & { tokenInIsToken0: boolean; }; export declare type GyroEPoolToken = Pick; declare type GyroEParamsFromSubgraph = { alpha: string; beta: string; c: string; s: string; lambda: string; }; declare type DerivedGyroEParamsFromSubgraph = { tauAlphaX: string; tauAlphaY: string; tauBetaX: string; tauBetaY: string; u: string; v: string; w: string; z: string; dSq: string; }; export declare class GyroEPool implements PoolBase { poolType: PoolTypes; id: string; address: string; tokensList: string[]; tokens: GyroEPoolToken[]; swapFee: BigNumber; totalShares: BigNumber; gyroEParams: GyroEParams; derivedGyroEParams: DerivedGyroEParams; static fromPool(pool: SubgraphPoolBase): GyroEPool; constructor(id: string, address: string, swapFee: string, totalShares: string, tokens: GyroEPoolToken[], tokensList: string[], gyroEParams: GyroEParamsFromSubgraph, derivedGyroEParams: DerivedGyroEParamsFromSubgraph); parsePoolPairData(tokenIn: string, tokenOut: string): GyroEPoolPairData; getNormalizedLiquidity(poolPairData: GyroEPoolPairData): OldBigNumber; getLimitAmountSwap(poolPairData: GyroEPoolPairData, swapType: SwapTypes): OldBigNumber; updateTokenBalanceForPool(token: string, newBalance: BigNumber): void; _exactTokenInForTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; _tokenInForExactTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapExactTokenInForTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; _spotPriceAfterSwapTokenInForExactTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapExactTokenInForTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; _derivativeSpotPriceAfterSwapTokenInForExactTokenOut(poolPairData: GyroEPoolPairData, amount: OldBigNumber): OldBigNumber; } export {};