declare type StorageDataValueType = string | number | boolean; declare type StorageDataType = Record; export declare class SimpleStorage { name: string; protected cache: Record; protected parent?: SimpleStorage | undefined; constructor(name: string, cache: Record, parent?: SimpleStorage | undefined); get displayName(): string; /** * 派生一个新的 {@link SimpleStorage} 实例. 如果派生的名称为 {@link IGNORE}, 则返回一个空的且不会被 {@link SimpleStorageManager} 序列化的 {@link SimpleStorage} 实例. * * **当派生的名称已经存在, 但不是一个对象时, 会将其重置为一个空对象.** * @param name */ derive(name: string): SimpleStorage; delete(key: string): void; get(key: string): T | undefined; set(key: string, value: T): void; toString(): string; } /** * 管理 {@link SimpleStorage} 的类. 用于将 {@link SimpleStorage} 的数据进行序列化和反序列化. */ export declare class SimpleStorageManager { protected rootStorage: SimpleStorage; constructor(rootStorage: SimpleStorage); /** * 恢复从 {@link toString} 拿到的状态数据. * @param data */ recovery(data: string): void; /** * 将当前的状态数据序列化为字符串. 之后可以通过 {@link recovery} 方法恢复状态. */ toString(): string; protected _recoveryDeeper(recoveryData: Record, storage: SimpleStorage): void; } /** * 用于 {@link SimpleStorage.derive} 方法的参数, 用于表示派生出的子缓存对象不需要存储在本地. * 即随着页面关闭/刷新存储的数据会消失. */ export declare const IGNORE = "IGNORE"; /** * 根部的缓存对象, 用于存储所有的缓存数据. 可以派生出子缓存对象. */ export declare const cacheStorage: SimpleStorage; export declare const StorageManager: SimpleStorageManager; export {};