export interface ILocalStorageOptions { default?: any; } export declare type StorageValueType = 'string' | 'bool' | 'number' | 'date' | 'object' | 'null'; export interface ILocalStorageValue { type: StorageValueType; value: any; } export interface ILocalStorage { getItem(key: string): Promise; setItem(key: string, value: any): Promise; removeItem(key: string): Promise; } export interface ILocalStorageChangedEvent { key: string; value: any; type: StorageValueType; } export declare type LocalStoragePropertyFunc = (value?: T | null, options?: ILocalStorageOptions) => Promise; export declare type LocalStorageProp = LocalStoragePropertyFunc & { key: string; isProp: boolean; }; export declare type LocalStoragePropertyFactory = (key: string, defaultOptions?: ILocalStorageOptions) => LocalStorageProp;