import { MemoryFilter } from '../../base'; import { DeclarativeMemory } from '../../DeclarativeMemory'; import { IMemoryStorage, IMemoryIndex } from '../../storage'; import { ISemanticMemoryUnit, ConceptNode, ConceptRelation, RelationType } from './types'; import { z } from 'zod'; /** * Semantic memory implementation */ export declare class SemanticMemory extends DeclarativeMemory { private conceptGraph; private relationGraph; constructor(storage: IMemoryStorage, index: IMemoryIndex); /** * Create a semantic memory unit */ createMemoryUnit(content: C | string, schema?: z.ZodType, metadata?: Map): ISemanticMemoryUnit; private isValidSemanticContent; /** * Construct a semantic memory unit */ constructMemoryUnit(content: any, metadata?: Map): ISemanticMemoryUnit; /** * Store a semantic memory unit */ store(content: Omit): Promise; /** * Add a concept to semantic memory */ addConcept(name: string, type: string, properties?: Map): Promise; /** * Add a relation between concepts */ addRelation(sourceId: string, targetId: string, type: RelationType, properties?: Map): Promise; /** * Retrieve memory by ID */ retrieve(id: string): Promise; /** * Retrieve memories by filter */ retrieveByFilter(filter: MemoryFilter): Promise; /** * Get all concepts */ getAllConcepts(): Promise; /** * Get all relations */ getAllRelations(): Promise; isMemoryUnitOfType(unit: any): unit is ISemanticMemoryUnit; }