import Web3 from "web3"; import BigNumber from "bignumber.js"; import { Address, Pair, Snapshot, BigNumberString } from "../pair"; interface PairCurveSnapshot extends Snapshot { paused: boolean; tokenPrecisionMultipliers: BigNumberString[]; balancesWithAdjustedPrecision: BigNumberString[]; swapFee: BigNumberString; preciseA: BigNumberString; } export declare class PairCurve extends Pair { private web3; private poolAddr; allowRepeats: boolean; private curvePool; private paused; private tokenPrecisionMultipliers; private balancesWithAdjustedPrecision; private swapFee; private preciseA; private token0Idx; private token1Idx; private nCoins; static readonly POOL_PRECISION_DECIMALS = 18; static readonly A_PRECISION = 100; constructor(chainId: number, web3: Web3, poolAddr: Address, opts?: { nCoins: number; token0Idx: number; token1Idx: number; }); protected _init(): Promise<{ pairKey: string; tokenA: string; tokenB: string; }>; refresh(): Promise; outputAmount(inputToken: Address, inputAmount: BigNumber): BigNumber; inputAmount(outputToken: Address, outputAmount: BigNumber): BigNumber; private getY; private getD; protected swapExtraData(): string; snapshot(): PairCurveSnapshot; restore(snapshot: PairCurveSnapshot): void; } export declare function createCurvePairs(chainId: number, web3: Web3, poolAddr: Address, nCoins: number): Promise; export {};