import { default as LocalStorage } from './local'; import { default as CloudStorage } from './cloud'; import { TReturnRes } from './types'; type TStorageType = 'local' | 'cloud' | 'both'; declare class Storage { static LocalStorage: typeof LocalStorage; static CloudStorage: typeof CloudStorage; private localStorage; private cloudStorage; private shortDevId; /** * @param {string} id - groupId(群组) 或 devId(单设备) * @param {number} bizType - 0-单设备/1-群组 */ constructor(id: any, bizType?: number); /** * 获取指定名称的设备存储项,key自动添加设备id * @param {string} key - 存储项的名称 * @param {(cacheData: TReturnRes) => void} callback - 返回之前缓存的数据值,Promise中返回最新值, 如果值相同,会有一个isEqual字段,可以进行判断优化,不用重复渲染 * @return {Promise>} - 一个返回设备存储的Promise。 */ get(key: string, callback?: (cacheData: TReturnRes) => void, type?: TStorageType): Promise>; getNoDevIdKey(key: string): string; /** * 获取设备所有的存储项 * @param {(cacheData: Record>) => void} callback - 返回之前缓存的数据值,Promise中返回最新值, 如果值相同,会有一个isEqual字段,可以进行判断优化,不用重复渲染 * @return {Promise>>} - 一个返回设备存储的Promise。 */ getAll(callback?: (cacheData: Record>) => void): Promise>>; /** * 设置本地存储值,默认key自动添加设备id * * @param {string} key - 存储项的名称。 * @param {T} value - 要设置的值 * @return {Promise} - 一个返回设置存储项结果的Promise。 */ set(key: string, value: T, type?: TStorageType): Promise; /** * 批量设置本地存储值 * * @param {Record} values - 要设置的值, k-v 结构 */ setAll(values: Record, timestamp?: number): Promise; /** * 删除指定名称的设备存储,key自动添加设备id * * @param {string} key - 要删除的设备存储的名称。 * @return {Promise} - 返回删除存储项结果的Promise */ remove(key: any, type?: TStorageType): Promise; } export { LocalStorage, CloudStorage }; export default Storage;