import { IMemory, ITransferThreshold } from './abstraction'; import { IMemoryCell, UID } from './cells/base'; export declare class Memory implements IMemory { private debug; private attention; private shortTerm; private longTerm; private transferThreshold; private evaluationIntervalMs; private evaluationIntervalId; constructor(transferThreshold: ITransferThreshold, debug?: boolean); dump(): { attention: { [key: string]: IMemoryCell; }; shortTerm: { [key: string]: IMemoryCell; }; longTerm: { [key: string]: IMemoryCell; }; transferThreshold: ITransferThreshold; evaluationIntervalMs: number; }; addMemoryCell(item: IMemoryCell, layer: 'attention' | 'shortTerm' | 'longTerm'): IMemoryCell; getMemoryCell(uid: UID, layer: 'attention' | 'shortTerm' | 'longTerm'): IMemoryCell | undefined; updateMemoryCell(uid: UID, updatedContent: any, layer: 'attention' | 'shortTerm' | 'longTerm'): void; removeMemoryCell(uid: UID, layer: 'attention' | 'shortTerm' | 'longTerm'): void; transferCell(uid: UID, fromLayer: 'attention' | 'shortTerm' | 'longTerm', toLayer: 'attention' | 'shortTerm' | 'longTerm'): void; private getLayer; recall(query: string): IMemoryCell[]; private matchesQuery; startEvaluationCycle(): void; stopEvaluationCycle(): void; private evaluateMemory; private evaluateItemTransfer; addAssociation(uid1: UID, uid2: UID): void; getAssociations(uid: UID): IMemoryCell[]; private findMemoryCell; }