/** * A class that can be instantiated into a storage with a specific name and version. * Type T stands for the type of the value that is stored in the storage. It has to be serializable to JSON. */ export declare class Storage { /** * Name of the storage. */ name: string; /** * Version of the storage with this particular name. */ version: number; /** * Create or retrieve the storage with the given name and version. * If the version is omitted, it will use the existing version of the storage with the given name. * If there is no existing storage with the given name, it will throw an error. * @param name Name of the storage. * @param version Version of the storage. It has to be a positive integer. */ constructor(name: string, version?: number); /** * Read the value from the storage. * @returns The value that is stored in the storage. If there is no value, it returns null. */ read(): T | null; /** * Write the value to the storage. * @param value The value to be stored in the storage. */ write(value: T): void; /** * Reset all storages. (It even wipes out other localStorage content that are not written by this class.) */ static reset(): void; }