import { DecoratorConfig } from '../ngx-store.types'; import { WebStorage } from './storage/cookies-storage'; import { Observable, Subject } from 'rxjs'; import { NgxStorageEvent } from './storage/storage-event'; export declare type StorageName = 'localStorage' | 'sessionStorage' | 'cookiesStorage' | 'sharedStorage'; export declare class WebStorageUtility { protected _storage: WebStorage; constructor(storage: WebStorage, prefix?: string, previousPrefix?: string); protected _prefix: string; get prefix(): string; protected _changes: Subject; get changes(): Observable; get keys(): Array; static getSettable(value: any): string; static getGettable(value: string): any; getStorage(): WebStorage; getStorageKey(key: string, prefix?: string): string; getStorageName(): StorageName; get(key: string, config?: DecoratorConfig): any; set(key: string, value: T, config?: DecoratorConfig): T | null; remove(key: string, config?: DecoratorConfig): void; clear(): void; forEach(callbackFn: (value: any, key: string) => any): void; getSettable(value: any): string; getGettable(value: string): any; trimPrefix(key: string): string; protected emitEvent(key: string, newValue: any, oldValue?: any): void; }