import { ethers } from "ethers"; import { Curve } from "../curve.js"; import { TwoCryptoImplementation } from "../constants/twoCryptoImplementations.js"; export declare function deployStablePlainPoolEstimateGas(this: Curve, name: string, symbol: string, coins: string[], A: number | string, fee: number | string, // % assetType: 0 | 1 | 2 | 3, // 0 = USD, 1 = ETH, 2 = BTC, 3 = Other implementationIdx: 0 | 1 | 2 | 3 | 4 | 5, emaTime?: number, // seconds oracleAddress?: string, methodName?: string): Promise; export declare function deployStablePlainPool(this: Curve, name: string, symbol: string, coins: string[], A: number | string, fee: number | string, // % assetType: 0 | 1 | 2 | 3, // 0 = USD, 1 = ETH, 2 = BTC, 3 = Other implementationIdx: 0 | 1 | 2 | 3 | 4 | 5, emaTime?: number, // seconds oracleAddress?: string, methodName?: string): Promise; export declare function deployStableNgPlainPoolEstimateGas(this: Curve, name: string, symbol: string, coins: string[], A: number | string, fee: number | string, // % offpegFeeMultiplier: number | string, assetTypes: Array<0 | 1 | 2 | 3>, // 0 = Standard, 1 = Oracle, 2 = Rebasing, 3 = ERC4626 implementationIdx: 0, emaTime: number, // seconds oracleAddresses: string[], methodNames: string[]): Promise; export declare function deployStableNgPlainPool(this: Curve, name: string, symbol: string, coins: string[], A: number | string, fee: number | string, // % offpegFeeMultiplier: number | string, assetTypes: Array<0 | 1 | 2 | 3>, // 0 = Standard, 1 = Oracle, 2 = Rebasing, 3 = ERC4626 implementationIdx: 0, emaTime: number, // seconds oracleAddresses: string[], methodNames: string[]): Promise; export declare function getDeployedStablePlainPoolAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function _setOracle(this: Curve, poolAddress: string, oracleAddress: string, methodName: string, estimateGas: boolean): Promise; export declare function setOracleEstimateGas(this: Curve, poolAddress: string, oracleAddress?: string, methodName?: string): Promise; export declare function setOracle(this: Curve, poolAddress: string, oracleAddress?: string, methodName?: string): Promise; export declare function deployStableMetaPoolEstimateGas(this: Curve, basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, // % implementationIdx: 0 | 1): Promise; export declare function deployStableMetaPool(this: Curve, basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, // % implementationIdx: 0 | 1): Promise; export declare function deployStableNgMetaPoolEstimateGas(this: Curve, basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, // % offpegFeeMultiplier: number | string, assetType: 0 | 1 | 2 | 3, // 0 = Standard, 1 = Oracle, 2 = Rebasing, 3 = ERC4626 emaTime: number, // seconds implementationIdx: 0, methodName: string, oracleAddress: string): Promise; export declare function deployStableNgMetaPool(this: Curve, basePool: string, name: string, symbol: string, coin: string, A: number | string, fee: number | string, // % offpegFeeMultiplier: number | string, emaTime: number, // seconds implementationIdx: 0, assetType: 0 | 1 | 2 | 3, // 0 = Standard, 1 = Oracle, 2 = Rebasing, 3 = ERC4626 methodName: string, oracleAddress: string): Promise; export declare function getDeployedStableMetaPoolAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function deployCryptoPoolEstimateGas(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, maHalfTime: number, // Seconds initialPrice: number | string): Promise; export declare function deployCryptoPool(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, maHalfTime: number, // Seconds initialPrice: number | string): Promise; export declare function getDeployedCryptoPoolAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function deployTwocryptoPoolEstimateGas(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, maHalfTime: number, // Seconds initialPrice: number | string, implementationIdx?: TwoCryptoImplementation): Promise; export declare function deployTwocryptoPool(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, maHalfTime: number, // Seconds initialPrice: number | string, implementationIdx?: TwoCryptoImplementation): Promise; export declare function getDeployedTwocryptoPoolAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function deployTricryptoPoolEstimateGas(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, emaTime: number, // Seconds initialPrices: (number | string)[]): Promise; export declare function deployTricryptoPool(this: Curve, name: string, symbol: string, coins: string[], A: number | string, gamma: number | string, midFee: number | string, // % outFee: number | string, // % allowedExtraProfit: number | string, feeGamma: number | string, adjustmentStep: number | string, emaTime: number, // Seconds initialPrices: (number | string)[]): Promise; export declare function getDeployedTricryptoPoolAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function deployGaugeEstimateGas(this: Curve, pool: string, factory: string): Promise; export declare function deployGauge(this: Curve, pool: string, factory: string): Promise; export declare function deployGaugeSidechainEstimateGas(this: Curve, pool: string, salt: string): Promise; export declare function deployGaugeSidechain(this: Curve, pool: string, salt: string): Promise; export declare function deployGaugeMirrorEstimateGas(this: Curve, chainId: number, salt: string): Promise; export declare function deployGaugeMirror(this: Curve, chainId: number, salt: string): Promise; export declare function getDeployedGaugeAddress(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function getDeployedGaugeMirrorAddressByTx(this: Curve, tx: ethers.ContractTransactionResponse): Promise; export declare function getDeployedGaugeMirrorAddress(this: Curve, chainId: number): Promise;