import { Contract } from "ethers";
export interface Feed {
    [key: string]: string;
}
export interface Config {
    [key: string]: Feed;
}
export interface Asset {
    token: string;
    address: string;
    oracle: string;
    price?: string;
    stalePeriod?: number;
}
export interface Assets {
    [key: string]: Asset[];
}
export interface NetworkAddress {
    [key: string]: string;
}
export interface PreconfiguredAddresses {
    [key: string]: NetworkAddress;
}
export interface AccessControlEntry {
    caller: string;
    target: string;
    method: string;
}
export interface Oracle {
    oracles: [string, string, string];
    enableFlagsForOracles: [boolean, boolean, boolean];
    underlyingOracle: Contract;
    getTokenConfig?: (asset: Asset, networkName: string) => void;
    getDirectPriceConfig?: (asset: Asset) => void;
    getStalePeriodConfig?: (asset: Asset) => string[];
}
export interface Oracles {
    [key: string]: Oracle;
}
export declare const addr0000 = "0x0000000000000000000000000000000000000000";
export declare const DEFAULT_STALE_PERIOD: number;
export declare const ANY_CONTRACT = "0x0000000000000000000000000000000000000000";
export declare const ADDRESSES: PreconfiguredAddresses;
export declare const chainlinkFeed: Config;
export declare const redstoneFeed: Config;
export declare const pythID: Config;
export declare const assets: Assets;
export declare const getOraclesData: () => Promise<Oracles>;
export declare const getOraclesToDeploy: (network: string) => Promise<Record<string, boolean>>;
//# sourceMappingURL=deploymentConfig.d.ts.map