import { IChain } from './utils/constants';
import { IDeploymentArtifactWithInfo } from './utils';
export declare enum AggregatorVaultType {
    Strategy = 0,
    Aggregator = 1
}
export declare enum RiskLevel {
    LOW = 0,
    MEDIUM = 1,
    HIGH = 2
}
export declare const aggregatorConf: (underlying: any, risk: RiskLevel) => {
    contract: string;
    underlying: any;
    risk: RiskLevel;
    name: string;
    symbol: string;
};
export declare const aggregatorWEpochConf: (underlying: any, risk: RiskLevel) => {
    contract: string;
    underlying: any;
    risk: RiskLevel;
    name: string;
    symbol: string;
};
export declare const AggregatorVaultConfig: {
    moonriver: {
        contract: string;
        underlying: any;
        risk: RiskLevel;
        name: string;
        symbol: string;
    }[];
    optimism: {
        contract: string;
        underlying: any;
        risk: RiskLevel;
        name: string;
        symbol: string;
    }[];
    arbitrum: {
        contract: string;
        underlying: any;
        risk: RiskLevel;
        name: string;
        symbol: string;
    }[];
    mainnet: {
        contract: string;
        underlying: any;
        risk: RiskLevel;
        name: string;
        symbol: string;
    }[];
};
export declare enum VaultType {
    ScionVault = "ScionVault",
    SCYVault = "SCYVault",
    SCYWEpochVault = "SCYWEpochVault",
    AggregatorVault = "AggregatorVault",
    AggregatorWEpochVault = "AggregatorWEpochVault"
}
export declare const vaultModuleList: readonly ["ScionTimelock", "SectorTimelock", "UpgradeableBeacon"];
export type IVaultModule = typeof vaultModuleList[number];
export declare const scyRebalanceVaultList: string[];
export declare const scyVaultList: string[];
export declare const scyEpochVaultList: string[];
export declare const aggregatorVaultList: string[], aggregatorEpochVaultList: string[];
export declare const allVaultIds: string[];
export declare function getVaultType(chain: IChain, address: string): VaultType | undefined;
export declare function getVaultById(chain: IChain, id: string): import("./utils").IDeploymentArtifact | null;
export declare function getDeploymentArtifactsByChain(chain: IChain, list: string[]): IDeploymentArtifactWithInfo[] | null;
export declare function getContractCollateral(id: string | null | undefined): string | null | undefined;
export declare enum IAggVaultName {
    'Da Vinci' = "Da Vinci",
    Copernicus = "Copernicus",
    Medici = "Medici"
}
export declare const riskIdToLabel: {
    r0: IAggVaultName;
    r1: IAggVaultName;
    r2: IAggVaultName;
};
export declare const protocolKeys: {
    Well: string;
    Solar: string;
    Xcal: string;
    Velo: string;
    '3crv': string;
};
export declare function getInfoFromName(id: string | null | undefined): {
    collateral: string;
    type: string;
    risk: any;
    version: string;
    volatile?: undefined;
    protocols?: undefined;
    network?: undefined;
    index?: undefined;
} | {
    type: string;
    collateral: string;
    volatile: string;
    protocols: any[];
    network: string;
    version: string;
    index: string;
    risk?: undefined;
} | {
    collateral?: undefined;
    type?: undefined;
    risk?: undefined;
    version?: undefined;
    volatile?: undefined;
    protocols?: undefined;
    network?: undefined;
    index?: undefined;
};
