/**
 * Caching layer for IDX MCP Server
 */
export interface CacheStats {
    hits: number;
    misses: number;
    keys: number;
    hitRate: number;
}
export interface Cache {
    get<T>(key: string): Promise<T | undefined>;
    set<T>(key: string, value: T, ttl?: number): Promise<void>;
    del(key: string): Promise<void>;
    clear(): Promise<void>;
    stats(): Promise<CacheStats>;
}
export declare class CacheKeyBuilder {
    static marketOverview(): string;
    static stockInfo(ticker: string): string;
    static historicalData(ticker: string, period: string): string;
    static sectorPerformance(): string;
    static stockSearch(query: string): string;
    static static(key: string): string;
}
declare class CacheManager {
    private static instance;
    private cache;
    private constructor();
    static getInstance(): CacheManager;
    private createCache;
    get<T>(key: string): Promise<T | undefined>;
    set<T>(key: string, value: T, ttl?: number): Promise<void>;
    del(key: string): Promise<void>;
    clear(): Promise<void>;
    stats(): Promise<CacheStats>;
    getTtl(type: 'marketOverview' | 'stockInfo' | 'historical' | 'sector' | 'static'): number;
}
export declare const cacheManager: CacheManager;
export {};
//# sourceMappingURL=index.d.ts.map