/** * Created by tacb0ss on 27/07/2018. */ import { Module, TS_Object } from '@nu-art/ts-common'; import { OnClearWebsiteData } from './clearWebsiteDataDispatcher.js'; export interface OnStorageKeyChangedListener { __onStorageKeyEvent(event: StorageEvent): Promise; } type GetType = string | number | object; export declare class StorageModule_Class extends Module implements OnClearWebsiteData { private readonly cache; private readonly withstandDeletionKeys; private readonly allKeys; protected init(): void; __onClearWebsiteData(): Promise; private handleStorageEvent; getStorage: (persist: boolean) => Storage; set(key: string, value: string | number | object, persist?: boolean): void; delete(key: string, persist?: boolean): void; clearCache(key: string): void; get(key: string, fallbackValue?: GetType, persist?: boolean): string | number | object | undefined; query(query: RegExp): T[]; deleteAll(query: RegExp): void; private withstandDeletion; private registerKey; } export declare const ModuleFE_LocalStorage: StorageModule_Class; export declare class StorageKey { readonly key: string; private readonly persist; private _onChange?; constructor(key: string, persist?: boolean); /** * Will not delete this storage key if the delete operation is performed from __onClearWebsiteData */ withstandDeletion(): this; get(): ValueType | undefined; get(fallbackValue: ValueType): ValueType; patch(value: ValueType extends TS_Object ? Partial : ValueType): any; set(value: ValueType): ValueType; delete(): void; clearCache(): void; onChange(onChangeListener: (after?: ValueType, before?: ValueType) => Promise): this; getPersistence: () => boolean; } export {};