interface Memory { id: string; content: string; user_id: string; created_at: string; updated_at: string; project?: string; directory?: string; tags: string[]; metadata: { executable?: boolean; dangerous?: boolean; requires_sudo?: boolean; category?: string; last_used?: string; use_count?: number; [key: string]: any; }; } interface SearchOptions { fuzzy?: boolean; project?: string; directory?: string; tags?: string[]; limit?: number; include_archived?: boolean; } interface CacheStats { hits: number; misses: number; hitRate: number; size: number; memory: number; } export declare class MemoryEngine { private dbPath; private redisUrl; private db; private redis; private fuse; private memoryCache; private searchCache; private stats; private operationTimes; constructor(dbPath?: string, redisUrl?: string); private initializeDatabase; private connectRedis; private loadMemoriesIntoCache; addMemory(memory: Omit): Promise; getMemory(id: string): Promise; searchMemories(query: string, options?: SearchOptions): Promise; getRecentMemories(limit?: number): Promise; getAllMemories(limit?: number): Promise; getPopularMemories(limit?: number): Promise; incrementUseCount(id: string): Promise; updateMemory(id: string, updates: Partial): Promise; deleteMemory(id: string): Promise; getPerformanceStats(): { [operation: string]: { avg: number; count: number; min: number; max: number; }; }; getCacheStats(): CacheStats; private generateId; private parseMemoryRow; private insertMemoryToDb; private getMemoryFromDb; private updateMemoryInDb; private fullTextSearch; private invalidateSearchCache; private updateFuseIndex; private recordOperation; close(): Promise; } export {}; //# sourceMappingURL=memory-engine.d.ts.map