Used for managing storage on the client

Example of type definition and brief description for each key

type ClientStorage = {
  getAsync: (extensionInstanceId: string, key: string) => Promise<any>; 
  setAsync: (extensionInstanceId: string, key: string, value: any) => Promise<void>; 
  deleteAsync: (extensionInstanceId: string, key: string) => Promise<void>; 
  keysAsync: (extensionInstanceId: string) => Promise<string[]>; 
  dropStore: (extensionInstanceId: string) => Promise<void>; 
};

getAsync This method is a function that takes two parameters: extensionInstanceId which is a string, and key which is also a string. It returns a Promise<any>, indicating that it asynchronously retrieves a value which can be of any type from the storage.

setAsync This method is a function that takes three parameters: extensionInstanceId which is a string, key which is a string, and value which is of type any. It returns a Promise<void>, signifying that it asynchronously sets a value in the storage and does not return any data upon completion.

deleteAsync This method is a function that takes two parameters: extensionInstanceId which is a string, and key which is a string. It returns a Promise<void>, meaning that it asynchronously deletes a key from the storage and does not return any data upon completion.

keysAsync This method is a function that takes one parameter: extensionInstanceId which is a string. It returns a Promise<string[]>, implying that it asynchronously retrieves a list of all keys stored under the specified extensionInstanceId as an array of strings.

dropStore This method is a function that takes one parameter: extensionInstanceId which is a string. It returns a Promise<void>, indicating that it asynchronously deletes all the keys and their associated values stored under the specified extensionInstanceId, without returning any data upon completion.