/** * Wrap local storage implementation in order to: * - provide a better interface (typed key-value pair for multiget-multiset instead of array of array) * - easily allow to switch to any kind of local storage implementation */ export interface ILocalStorage { setItem: (key: LocalStorageKeys, data: string) => void | Promise; getItem: (key: LocalStorageKeys) => string | null; setBoolean: (key: LocalStorageKeys, data: boolean) => false | void; getBoolean: (key: LocalStorageKeys) => boolean; multiSet: (data: LocalStorageKeyValuePair) => void; multiGet: (...keys: LocalStorageKeys[]) => Promise; multiRemove: (...keys: LocalStorageKeys[]) => Promise; removeItem: (key: LocalStorageKeys) => Promise; clear: () => void; } export declare type LocalStorageKeys = "userId" | "userToken"; declare type LocalStorageKeyValuePair = { [key in Partial]?: string; }; export declare const localStorageHelper: ILocalStorage; export {};