import type { Message } from './types.js'; export interface MemoryEntry { key: string; value: string; category: 'project' | 'preference' | 'context' | 'decision'; sessionId: string; createdAt: string; accessCount: number; } /** * Save or update a memory entry. */ export declare function saveMemory(key: string, value: string, category: MemoryEntry['category'], sessionId: string): void; /** * Load a memory entry by key. */ export declare function loadMemory(key: string): MemoryEntry | null; /** * Search memories by keyword across all entries. */ export declare function searchMemory(query: string): MemoryEntry[]; /** * Get all memories for a specific project (by cwd path). */ export declare function getProjectMemory(cwd: string): MemoryEntry[]; /** * Called at session start — returns a context string to inject into system prompt. * Loads relevant memories for the given project. */ export declare function onSessionStart(sessionId: string, cwd: string): string; /** * Called at session end — auto-extract key decisions and context from conversation. */ export declare function onSessionEnd(sessionId: string, messages: Message[], cwd: string): void; /** * Remove memories older than maxAge days. */ export declare function pruneOldMemories(maxAge: number): number; export declare function printMemoryStatus(): void;