import { WeightedPoolPairData } from './weighted/WeightedPool'; import { StablePoolPairData } from './stable/StablePool'; export declare class BasePool { _subtractSwapFeeAmount(amount: bigint, _swapFeePercentage: bigint): bigint; _addFeeAmount(amount: bigint, _swapFeePercentage: bigint): bigint; _upscaleArray(amounts: bigint[], scalingFactors: bigint[]): bigint[]; _upscale(amount: bigint, scalingFactor: bigint): bigint; _downscaleDown(amount: bigint, scalingFactor: bigint): bigint; _downscaleUp(amount: bigint, scalingFactor: bigint): bigint; _nullifyIfMaxAmountExceeded(amountToTrade: bigint, swapMax: bigint): bigint; } export declare abstract class BaseGeneralPool extends BasePool { onBuy(amounts: bigint[], poolPairData: StablePoolPairData): bigint[]; onSell(amounts: bigint[], poolPairData: StablePoolPairData): bigint[]; _swapGivenIn(tokenAmountsIn: bigint[], balances: bigint[], indexIn: number, indexOut: number, scalingFactors: bigint[], _swapFeePercentage: bigint, _amplificationParameter: bigint): bigint[]; _swapGivenOut(tokenAmountsOut: bigint[], balances: bigint[], indexIn: number, indexOut: number, scalingFactors: bigint[], _swapFeePercentage: bigint, _amplificationParameter: bigint): bigint[]; abstract _onSwapGivenIn(tokenAmountsIn: bigint[], balances: bigint[], indexIn: number, indexOut: number, _amplificationParameter: bigint): bigint[]; abstract _onSwapGivenOut(tokenAmountsOut: bigint[], balances: bigint[], indexIn: number, indexOut: number, _amplificationParameter: bigint): bigint[]; } export declare abstract class BaseMinimalSwapInfoPool extends BasePool { onBuy(tokenAmountsOut: bigint[], poolPairData: WeightedPoolPairData): bigint[]; onSell(tokenAmountsIn: bigint[], poolPairData: WeightedPoolPairData): bigint[]; abstract _onSwapGivenIn(tokenAmountsIn: bigint[], currentBalanceTokenIn: bigint, currentBalanceTokenOut: bigint, _weightIn: bigint, _weightOut: bigint): bigint[]; abstract _onSwapGivenOut(tokenAmountsOut: bigint[], currentBalanceTokenIn: bigint, currentBalanceTokenOut: bigint, _weightIn: bigint, _weightOut: bigint): bigint[]; }