import NodeCache from 'node-cache';
export declare class CacheManager {
    private metadataCache;
    private contentCache;
    constructor();
    getMetadata<T>(key: string): T | undefined;
    setMetadata<T>(key: string, value: T, ttl?: number): boolean;
    deleteMetadata(key: string): number;
    getContent<T>(key: string): T | undefined;
    setContent<T>(key: string, value: T, ttl?: number): boolean;
    deleteContent(key: string): number;
    flushAll(): void;
    getStats(): {
        metadata: NodeCache.Stats;
        content: NodeCache.Stats;
    };
    static generateMetadataKey(ncode: string): string;
    static generateContentKey(ncode: string, chapter: number): string;
    static generateSearchKey(keyword: string, options: Record<string, unknown>): string;
    static generateRankingKey(options: Record<string, unknown>): string;
}
export declare const cacheManager: CacheManager;
//# sourceMappingURL=cache.d.ts.map