import { BaseStorageService } from './base-storage.service'; /** * An implementation of `StorageService` interface that uses an underlying (web) `Storage` object, such as `localStorage` and * `sessionStorage`, as backing data store. This class basically wraps the `Storage` object so it can be accessed through the * `StorageService` interface. */ export declare class WebStorageService extends BaseStorageService { private readonly storage; /** * Creates a new `WebStorageService` instance that uses the specified (web) storage object as underlying backing storage. * * @param storage Storage object which is to be wrapped in a class that implements the `StorageService` interface. */ constructor(storage: Storage); /** * Checks whether an entry with the specified key exists in the storage. * * @param key Identifier of the entry for which its presence in the storage is to be checked. * @returns `true` if an entry with the specified key exists in the storage, `false` if not. */ has(key: string): boolean; /** * Removes the entry that is identified by the specified key. Attempting to remove an entry for an unknown key will have no effect. * Attempting to retrieve an entry via the `get` method after it has been removed will result in `undefined`. * * @param key Identifier of the entry which is to be removed. */ remove(key: string): void; /** * Clears the storage by removing all entries. Subsequent `get(x)` calls for a key *x* will return `undefined`, until a new value is set * for key *x*. */ clear(): void; /** * Performs the actual retrieval of a value from storage. * * @param key Identifier of the entry whose value is to be retrieved. * @returns The value that is stored for the specified entry or `undefined` if no entry exists for the specified key. */ protected getItem(key: string): string | undefined; /** * Stores the provided value using specified key in the storage. * * @param key Identifier of the entry for which the value is to be stored. * @param value The value that is to be stored. */ protected setItem(key: string, value: string): void; } /** * Checks whether the specified (web) storage is available and functional. This might not be the case for older browsers. However even * certain browsers that do support the web storage API can, under some circumstances, have non functional storage objects. For example, * Safari is known to have `localStorage` and `sessionStorage` throw exceptions in private mode. * * @param storage Storage object which is to be tested for availability. * @returns `true` if the specified storage can be used, `false` if not. */ export declare function isStorageAvailable(storage: Storage): boolean; /** * Checks whether session storage is available and functional. This might not be the case for older browsers. However even certain browsers * that do support the web storage API can, under some circumstances, have non functional storage objects. For example, Safari is known to * have `sessionStorage` throw exceptions in private mode. * * @returns `true` if session storage can be used, `false` if not. */ export declare function isSessionStorageAvailable(): boolean; /** * Checks whether local storage is available and functional. This might not be the case for older browsers. However even certain browsers * that do support the web storage API can, under some circumstances, have non functional storage objects. For example, Safari is known to * have `localStorage` throw exceptions in private mode. * * @returns `true` if local storage can be used, `false` if not. */ export declare function isLocalStorageAvailable(): boolean;