import { Interface } from '@ethersproject/abi'; import { callData, PoolState, SubgraphPoolBase } from '../../types'; import { SwapSide } from '../../../../constants'; import { BaseGeneralPool } from '../balancer-v2-pool'; export type StablePoolPairData = { balances: bigint[]; indexIn: number; indexOut: number; scalingFactors: bigint[]; swapFee: bigint; amp: bigint; }; export declare class StablePool extends BaseGeneralPool { vaultAddress: string; vaultInterface: Interface; poolInterface: Interface; metaPoolInterface: Interface; constructor(vaultAddress: string, vaultInterface: Interface); _onSwapGivenOut(tokenAmountsOut: bigint[], balances: bigint[], indexIn: number, indexOut: number, _amplificationParameter: bigint): bigint[]; _onSwapGivenIn(tokenAmountsIn: bigint[], balances: bigint[], indexIn: number, indexOut: number, _amplificationParameter: bigint): bigint[]; parsePoolPairData(pool: SubgraphPoolBase, poolState: PoolState, tokenIn: string, tokenOut: string): StablePoolPairData; getOnChainCalls(pool: SubgraphPoolBase): callData[]; decodeOnChainCalls(pool: SubgraphPoolBase, data: { success: boolean; returnData: any; }[], startIndex: number): [{ [address: string]: PoolState; }, number]; getSwapMaxAmount(poolPairData: StablePoolPairData, side: SwapSide): bigint; }