import { BigNumber as OldBigNumber } from '../../utils/bignumber'; import { WeightedPoolPairData } from './weightedPool'; export declare function _calcOutGivenIn(balanceIn: bigint, weightIn: bigint, balanceOut: bigint, weightOut: bigint, amountIn: bigint, fee: bigint): bigint; export declare function _calcInGivenOut(balanceIn: bigint, weightIn: bigint, balanceOut: bigint, weightOut: bigint, amountOut: bigint, fee: bigint): bigint; export declare function _spotPriceAfterSwapExactTokenInForTokenOutBigInt(balanceIn: bigint, weightIn: bigint, balanceOut: bigint, weightOut: bigint, amountIn: bigint, fee: bigint): bigint; export declare function _spotPriceAfterSwapTokenInForExactTokenOutBigInt(balanceIn: bigint, weightIn: bigint, balanceOut: bigint, weightOut: bigint, amountOut: bigint, fee: bigint): bigint; /** * Calculates BPT for given tokens in. Note all numbers use upscaled amounts. e.g. 1USDC = 1e18. * @param balances Pool balances. * @param normalizedWeights Token weights. * @param amountsIn Amount of each token. * @param bptTotalSupply Total BPT of pool. * @param swapFeePercentage Swap fee percentage. * @returns BPT out. */ export declare function _calcBptOutGivenExactTokensIn(balances: bigint[], normalizedWeights: bigint[], amountsIn: bigint[], bptTotalSupply: bigint, swapFeePercentage: bigint): bigint; export declare function _calcTokensOutGivenExactBptIn(balances: bigint[], bptAmountIn: bigint, totalBPT: bigint): bigint[]; export declare function _calcTokenOutGivenExactBptIn(balance: bigint, normalizedWeight: bigint, bptAmountIn: bigint, bptTotalSupply: bigint, swapFeePercentage: bigint): bigint; export declare function _calcBptInGivenExactTokensOut(balances: bigint[], normalizedWeights: bigint[], amountsOut: bigint[], bptTotalSupply: bigint, swapFeePercentage: bigint): bigint; export declare const _calcTokenInGivenExactBptOut: (balance: bigint, normalizedWeight: bigint, bptAmountOut: bigint, bptTotalSupply: bigint, swapFee: bigint) => bigint; export declare function _calculateInvariant(normalizedWeights: bigint[], balances: bigint[]): bigint; export declare function _calcDueProtocolSwapFeeBptAmount(totalSupply: bigint, previousInvariant: bigint, currentInvariant: bigint, protocolSwapFeePercentage: bigint): bigint; export declare function _spotPriceAfterSwapExactTokenInForTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _spotPriceAfterSwapTokenInForExactTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _spotPriceAfterSwapExactTokenInForBPTOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _spotPriceAfterSwapBptOutGivenExactTokenInBigInt(balanceIn: bigint, balanceOut: bigint, weightIn: bigint, amountIn: bigint, swapFeeRatio: bigint): bigint; export declare function _spotPriceAfterSwapExactBPTInForTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _spotPriceAfterSwapBPTInForExactTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _spotPriceAfterSwapTokenInForExactBPTOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapExactTokenInForTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapTokenInForExactTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapExactTokenInForBPTOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapTokenInForExactBPTOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapExactBPTInForTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber; export declare function _derivativeSpotPriceAfterSwapBPTInForExactTokenOut(amount: OldBigNumber, poolPairData: WeightedPoolPairData): OldBigNumber;