import { Logger } from "../relayFeeCalculator";
export declare function msToS(ms: number): number;
export declare type CoinGeckoAssetPlatform = {
    id: string;
    chain_identifier: number;
    name: string;
    shortname: string;
};
export declare type CoinGeckoPrice = {
    address: string;
    timestamp: number;
    price: number;
};
export declare class Coingecko {
    private readonly host;
    private readonly proHost;
    private readonly logger;
    private readonly apiKey?;
    private static instance;
    private prices;
    private _maxPriceAge;
    private retryDelay;
    private numRetries;
    private basicApiTimeout;
    static get(logger: Logger, apiKey?: string): Coingecko;
    get maxPriceAge(): number;
    set maxPriceAge(age: number);
    protected constructor(host: string, proHost: string, logger: Logger, apiKey?: string | undefined);
    getHistoricContractPrices(contract: string, from: number, to: number, currency?: string): Promise<any>;
    getContractDetails(contract_address: string, platform_id?: string): Promise<any>;
    getCurrentPriceByContract(contract_address: string, currency?: string, platform_id?: string): Promise<[string, number]>;
    getContractPrices(addresses: Array<string>, currency?: string, platform_id?: string): Promise<CoinGeckoPrice[]>;
    getPlatforms(): Promise<CoinGeckoAssetPlatform[]>;
    call(path: string): Promise<any>;
    protected getPriceCache(currency: string, platform_id: string): {
        [addr: string]: CoinGeckoPrice;
    };
    private _callBasic;
    private _callPro;
}
