import { IMemoryStorage, IMemoryIndex } from '../../storage'; import { MemoryFilter } from '../../base'; import { DeclarativeMemory } from '../../DeclarativeMemory'; import { IEpisodicMemoryUnit } from './types'; import { EmotionalContext } from '../../context'; import { z } from 'zod'; /** * Episodic Memory - stores personal experiences and specific events * tied to particular times and places */ export declare class EpisodicMemory extends DeclarativeMemory { constructor(storage: IMemoryStorage, index: IMemoryIndex); /** * Create an episodic memory unit */ createMemoryUnit(content: C | string, schema?: z.ZodType, metadata?: Map): IEpisodicMemoryUnit; /** * Construct an episodic memory unit */ constructMemoryUnit(content: any, metadata?: Map): IEpisodicMemoryUnit; /** * Retrieve a memory by its ID */ retrieve(id: string): Promise; /** * Retrieve memories by filter */ retrieveByFilter(filter: MemoryFilter): Promise; /** * Store an episodic memory unit */ store(content: Omit): Promise; /** * Update the emotional context of a memory */ updateEmotionalContext(memoryId: string, emotionalContext: EmotionalContext): Promise; /** * Consolidate memories based on various metrics */ protected consolidate(memories: IEpisodicMemoryUnit[]): Promise; /** * Calculate consolidation score for a memory */ private calculateConsolidationScore; isMemoryUnitOfType(unit: any): unit is IEpisodicMemoryUnit; }