/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { SessionInfo } from '../Memory/BotState'; import * as CLM from '@conversationlearner/models'; export declare type MemoryManagerReturnType = T extends CLM.MemoryValue[] | CLM.MemoryValue ? T extends CLM.MemoryValue[] ? CLM.MemoryValue[] : CLM.MemoryValue : T; export declare class ReadOnlyClientMemoryManager { protected allEntities: CLM.EntityBase[]; private sessionInfo; prevMemories: CLM.FilledEntityMap; curMemories: CLM.FilledEntityMap; protected __expired: boolean; constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo); Expire(): void; protected __FindEntity(entityName: string): CLM.EntityBase | undefined; protected __ToString(value: string | number | boolean | object): string; /** * Get current value of entity */ Get(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType; /** * Get value of entity before most recent input */ GetPrevious(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType; /** * Get information about the current running session */ SessionInfo(): SessionInfo; static AS_VALUE(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue | null; static AS_VALUE_LIST(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue[]; static AS_STRING(memoryValues: CLM.MemoryValue[]): string | null; static AS_STRING_LIST(memoryValues: CLM.MemoryValue[]): string[]; static AS_NUMBER(memoryValues: CLM.MemoryValue[]): number | null; static AS_NUMBER_LIST(memoryValues: CLM.MemoryValue[]): number[]; static AS_BOOLEAN(memoryValues: CLM.MemoryValue[]): boolean | null; static AS_BOOLEAN_LIST(memoryValues: CLM.MemoryValue[]): boolean[]; private GetValues; } export declare class ClientMemoryManager extends ReadOnlyClientMemoryManager { constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo); AsReadOnly(): ReadOnlyClientMemoryManager; Set(entityName: string, value: string | number | boolean | object | string[] | number[] | boolean[] | object[]): void; Delete(entityName: string, value?: string | null): void; DeleteAll: () => void; /** Delete all entity values apart from any included in the list of saveEntityNames * @param saveEntityNames Array of entity names not to forget */ DeleteAllExcept(...saveEntityNames: string[]): void; /** * Copy values from one entity to another * @param entityNameFrom Source Entity * @param entityNameTo Destination Entity */ Copy(entityNameFrom: string, entityNameTo: string): void; }