/**
 * Shared CoinGecko HTTP client + short-TTL cache.
 *
 * Carved out of the original `src/trading/data.ts` so every CoinGecko
 * fetcher (price, ohlcv, trending, markets) shares the same rate-limit
 * cooldown, user-agent, timeout, and in-memory cache.
 */
import type { ProviderError } from '../standard-models.js';
export declare const TICKER_TO_ID: Record<string, string>;
export declare function resolveProviderId(ticker: string): string;
export declare function cached<T>(key: string, ttlMs: number, fn: () => Promise<T>): Promise<T>;
/** For tests: wipe every cached entry. */
export declare function clearCache(): void;
export declare function coingeckoGet(path: string): Promise<unknown | ProviderError>;
export declare const TTL: {
    readonly price: number;
    readonly ohlcv: number;
    readonly trending: number;
    readonly markets: number;
};
