import { ClearType, WebStorageConfigInterface } from '../config/config.interface'; import { WebStorageUtility } from '../utility/webstorage.utility'; import { Observable } from 'rxjs'; import { NgxStorageEvent } from '../utility/storage/storage-event'; import { Resource } from './resource'; export declare abstract class WebStorageService { utility: WebStorageUtility; static keys: Array; protected _changes: Observable; protected constructor(utility: WebStorageUtility); /** * Gets keys for stored variables created by ngx-store, * ignores keys that have not been created by decorators and have no prefix at once */ get keys(): Array; get config(): WebStorageConfigInterface; get(key: string): any; /** * Returns new data Resource for given key exposing builder design pattern * designed for complex nested data structures */ load(key: string): Resource; set(key: string, value: T): T; update(key: string, changes: any): any; remove(key: string): void; observe(key?: string, exactMatch?: boolean): Observable; /** * Clears chosen data from Storage * @param clearType 'prefix' | 'decorators' | 'all' * @param prefixOrClass defines the prefix or class (not its instance) whose decorators should be cleared */ clear(clearType?: ClearType, prefixOrClass?: string | object): void; protected generateEvent(key: string, newValue: any, oldValue?: any): NgxStorageEvent; protected mapNativeEvent(ev: StorageEvent): NgxStorageEvent; }