UNPKG

2.97 kBTypeScriptView Raw
1/**
2 * Copyright (c) Microsoft Corporation. All rights reserved.
3 * Licensed under the MIT License.
4 */
5import { SessionInfo } from '../Memory/BotState';
6import * as CLM from '@conversationlearner/models';
7export declare type MemoryManagerReturnType<T> = T extends CLM.MemoryValue[] | CLM.MemoryValue ? T extends CLM.MemoryValue[] ? CLM.MemoryValue[] : CLM.MemoryValue : T;
8export declare class ReadOnlyClientMemoryManager {
9 protected allEntities: CLM.EntityBase[];
10 private sessionInfo;
11 prevMemories: CLM.FilledEntityMap;
12 curMemories: CLM.FilledEntityMap;
13 protected __expired: boolean;
14 constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo);
15 Expire(): void;
16 protected __FindEntity(entityName: string): CLM.EntityBase | undefined;
17 protected __ToString(value: string | number | boolean | object): string;
18 /**
19 * Get current value of entity
20 */
21 Get<T = CLM.MemoryValue[] | CLM.MemoryValue>(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType<T>;
22 /**
23 * Get value of entity before most recent input
24 */
25 GetPrevious<T = CLM.MemoryValue[] | CLM.MemoryValue>(entityName: string, converter?: (memoryValues: CLM.MemoryValue[]) => T): MemoryManagerReturnType<T>;
26 /**
27 * Get information about the current running session
28 */
29 SessionInfo(): SessionInfo;
30 static AS_VALUE(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue | null;
31 static AS_VALUE_LIST(memoryValues: CLM.MemoryValue[]): CLM.MemoryValue[];
32 static AS_STRING(memoryValues: CLM.MemoryValue[]): string | null;
33 static AS_STRING_LIST(memoryValues: CLM.MemoryValue[]): string[];
34 static AS_NUMBER(memoryValues: CLM.MemoryValue[]): number | null;
35 static AS_NUMBER_LIST(memoryValues: CLM.MemoryValue[]): number[];
36 static AS_BOOLEAN(memoryValues: CLM.MemoryValue[]): boolean | null;
37 static AS_BOOLEAN_LIST(memoryValues: CLM.MemoryValue[]): boolean[];
38 private GetValues;
39}
40export declare class ClientMemoryManager extends ReadOnlyClientMemoryManager {
41 constructor(prevMemories: CLM.FilledEntityMap, curMemories: CLM.FilledEntityMap, allEntities: CLM.EntityBase[], sessionInfo: SessionInfo);
42 AsReadOnly(): ReadOnlyClientMemoryManager;
43 Set(entityName: string, value: string | number | boolean | object | string[] | number[] | boolean[] | object[]): void;
44 Delete(entityName: string, value?: string | null): void;
45 DeleteAll: () => void;
46 /** Delete all entity values apart from any included in the list of saveEntityNames
47 * @param saveEntityNames Array of entity names not to forget
48 */
49 DeleteAllExcept(...saveEntityNames: string[]): void;
50 /**
51 * Copy values from one entity to another
52 * @param entityNameFrom Source Entity
53 * @param entityNameTo Destination Entity
54 */
55 Copy(entityNameFrom: string, entityNameTo: string): void;
56}