import { BigNumber } from '@ethersproject/bignumber';
import { SubgraphPoolBase } from '../../../../types/balancer';
import { BigNumber as OldBigNumber } from '../../../../utils/balancer/bignumber';
import { PhantomStablePool, PhantomStablePoolPairData, PhantomStablePoolToken } from '../phantomStablePool';
export declare class ComposableStablePool extends PhantomStablePool {
    constructor(id: string, address: string, amp: string, swapFee: string, totalShares: string, tokens: PhantomStablePoolToken[], tokensList: string[]);
    static fromPool(pool: SubgraphPoolBase): ComposableStablePool;
    _exactTokenInForTokenOut(poolPairData: PhantomStablePoolPairData, amount: OldBigNumber): OldBigNumber;
    _tokenInForExactTokenOut(poolPairData: PhantomStablePoolPairData, amount: OldBigNumber): OldBigNumber;
    /**
     * _calcTokensOutGivenExactBptIn
     * @param bptAmountIn EVM scale.
     * @returns EVM scale.
     */
    _calcTokensOutGivenExactBptIn(bptAmountIn: BigNumber): BigNumber[];
    /**
     * _calcBptOutGivenExactTokensIn
     * @param amountsIn EVM Scale (Should not have value for BPT token)
     * @returns EVM Scale
     */
    _calcBptOutGivenExactTokensIn(amountsIn: BigNumber[]): BigNumber;
}
