import type { AgentMessage, AgentSessionState } from '../types'; export interface AgentMemoryEntry { id: string; type: 'user' | 'assistant' | 'tool' | 'system'; content: string; createdAt: Date; metadata?: Record; } export interface AgentMemorySnapshot { entries: AgentMemoryEntry[]; summary?: string; lastSummarizedAt?: Date; } export interface AgentSessionMemory { session: AgentSessionState; memory: AgentMemorySnapshot; } export interface AgentMemoryManager { load(sessionId: string): Promise; save(snapshot: AgentSessionMemory): Promise; append(session: AgentSessionState, entry: Omit & { createdAt?: Date; }): Promise; summarize(session: AgentSessionState): Promise; prune(session: AgentSessionState): Promise; } export declare abstract class BaseAgentMemoryManager implements AgentMemoryManager { abstract load(sessionId: string): Promise; abstract save(snapshot: AgentSessionMemory): Promise; append(session: AgentSessionState, entry: Omit & { createdAt?: Date; }): Promise; summarize(_session: AgentSessionState): Promise; prune(_session: AgentSessionState): Promise; protected bootstrapMemory(session: AgentSessionState): AgentSessionMemory; } export declare function trackMessageInMemory(manager: AgentMemoryManager | undefined, session: AgentSessionState, message: AgentMessage): void;