import { type DeepReadonly } from '@idlebox/common'; export declare enum StorageKey { I18N = "i18n", Development = ".development", UserSettings = "user-settings" } export type ILocalStorage = LocalStorage; declare abstract class LocalStorage { protected readonly key: StorageKey; private readonly defaultValue; readonly data: DeepReadonly; private readonly _onChange; readonly onChange: import("@idlebox/common").EventRegister>; protected readonly __buildRef: void; constructor(key: StorageKey, defaultValue: DeepReadonly); reload(): void; set(value: Type): void; private set _data(value); protected abstract parse(str: string): DeepReadonly; protected abstract stringify(data: Type): string; } export declare class LocalStorageString extends LocalStorage { protected parse(str: string): DeepReadonly; protected stringify(data: string): string; } export declare class LocalStorageObject extends LocalStorage { merge(input: Partial): void; /** 仅用于调试 */ active(): T; protected parse(str: string): DeepReadonly; protected stringify(data: T): string; } export {}; //# sourceMappingURL=local-storage.d.ts.map