import { BN } from "@utils/math";
import { Signer } from "ethers";
import { FeederPool, BoostedVault, MockERC20, BoostedDualVault, StakingRewardsWithPlatformToken, StakingRewards } from "types/generated";
import { Chain, Token } from "./tokens";
interface Config {
    a: BN;
    limits: {
        min: BN;
        max: BN;
    };
}
export interface FeederData {
    mAsset: Token;
    fAsset: Token;
    name: string;
    symbol: string;
    config: Config;
}
export interface VaultData {
    boosted: boolean;
    name: string;
    symbol: string;
    priceCoeff?: BN;
    stakingToken: string;
    rewardToken: string;
    dualRewardToken?: string;
}
export declare const deployFasset: (sender: Signer, name: string, symbol: string, decimals?: number, initialMint?: BN) => Promise<MockERC20>;
export declare const deployFeederPool: (signer: Signer, feederData: FeederData, chain?: Chain) => Promise<FeederPool>;
export declare const deployVault: (signer: Signer, vaultParams: VaultData, chain?: Chain) => Promise<BoostedDualVault | BoostedVault | StakingRewardsWithPlatformToken | StakingRewards>;
export {};
