import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { ContractFactory } from '../../../contract/contracts';
import { Network } from '../../../types/network.interface';
declare type ContractOpts = {
    address: string;
    network: Network;
};
export declare class CurveContractFactory extends ContractFactory {
    protected readonly appToolkit: IAppToolkit;
    constructor(appToolkit: IAppToolkit);
    curveAddressResolver({ address, network }: ContractOpts): import("./ethers").CurveAddressResolver;
    curveChildLiquidityGauge({ address, network }: ContractOpts): import("./ethers").CurveChildLiquidityGauge;
    curveChildLiquidityGaugeFactory({ address, network }: ContractOpts): import("./ethers").CurveChildLiquidityGaugeFactory;
    curveController({ address, network }: ContractOpts): import("./ethers").CurveController;
    curveCryptoFactory({ address, network }: ContractOpts): import("./ethers").CurveCryptoFactory;
    curveCryptoRegistry({ address, network }: ContractOpts): import("./ethers").CurveCryptoRegistry;
    curveDoubleGauge({ address, network }: ContractOpts): import("./ethers").CurveDoubleGauge;
    curveFactory({ address, network }: ContractOpts): import("./ethers").CurveFactory;
    curveFactoryPoolV2({ address, network }: ContractOpts): import("./ethers").CurveFactoryPoolV2;
    curveGauge({ address, network }: ContractOpts): import("./ethers").CurveGauge;
    curveGaugeV2({ address, network }: ContractOpts): import("./ethers").CurveGaugeV2;
    curveNGauge({ address, network }: ContractOpts): import("./ethers").CurveNGauge;
    curvePool({ address, network }: ContractOpts): import("./ethers").CurvePool;
    curvePoolLegacy({ address, network }: ContractOpts): import("./ethers").CurvePoolLegacy;
    curveRewardsOnlyGauge({ address, network }: ContractOpts): import("./ethers").CurveRewardsOnlyGauge;
    curveStableFactory({ address, network }: ContractOpts): import("./ethers").CurveStableFactory;
    curveStableRegistry({ address, network }: ContractOpts): import("./ethers").CurveStableRegistry;
    curveVestingEscrow({ address, network }: ContractOpts): import("./ethers").CurveVestingEscrow;
    curveVotingEscrow({ address, network }: ContractOpts): import("./ethers").CurveVotingEscrow;
    curveVotingEscrowReward({ address, network }: ContractOpts): import("./ethers").CurveVotingEscrowReward;
}
export type { CurveAddressResolver } from './ethers';
export type { CurveChildLiquidityGauge } from './ethers';
export type { CurveChildLiquidityGaugeFactory } from './ethers';
export type { CurveController } from './ethers';
export type { CurveCryptoFactory } from './ethers';
export type { CurveCryptoRegistry } from './ethers';
export type { CurveDoubleGauge } from './ethers';
export type { CurveFactory } from './ethers';
export type { CurveFactoryPoolV2 } from './ethers';
export type { CurveGauge } from './ethers';
export type { CurveGaugeV2 } from './ethers';
export type { CurveNGauge } from './ethers';
export type { CurvePool } from './ethers';
export type { CurvePoolLegacy } from './ethers';
export type { CurveRewardsOnlyGauge } from './ethers';
export type { CurveStableFactory } from './ethers';
export type { CurveStableRegistry } from './ethers';
export type { CurveVestingEscrow } from './ethers';
export type { CurveVotingEscrow } from './ethers';
export type { CurveVotingEscrowReward } from './ethers';
