import type { CachedApiEntry, CacheOptions, CacheStats } from '../types/index.js'; export declare class CacheService { private enabled; private persistentEnabled; private ttl; private syncInterval; private memoryCache; private urlIndex; private nameIndex; private pathIndex; private persistentStore; private syncTimer; private dirtyKeys; private pendingSyncs; private stats; constructor(options?: CacheOptions); setApi(entry: CachedApiEntry): void; findByUrl(url: string): { entry: CachedApiEntry; source: 'memory' | 'disk'; } | undefined; findByName(projectId: string, name: string): { entry: CachedApiEntry; source: 'memory' | 'disk'; } | undefined; findByPath(projectId: string, method: string, path: string): { entry: CachedApiEntry; source: 'memory' | 'disk'; } | undefined; getApi(projectId: string, apiId: number): { entry: CachedApiEntry; source: 'memory' | 'disk'; } | undefined; private getApiInternal; private syncToDisk; private syncIndexesToDisk; private loadFromDisk; private startSyncTimer; private stopSyncTimer; private removeFromDisk; private cleanupExpiredDiskCache; private isExpired; private fuzzySearchByName; private getApiKey; private getUrlKey; private getNameKey; private getPathKey; clear(): void; clearProject(projectId: string): number; clearByUrl(url: string): boolean; getStats(): CacheStats; isEnabled(): boolean; isPersistentEnabled(): boolean; shutdown(): Promise; }