import { BaseConfigurable } from '../config/BaseConfigurable';
import { BaseConfigurableImpl } from '../config/BaseConfigurableImpl.service';
/**
* Cache instance
*/
export declare class NgForage extends BaseConfigurableImpl implements BaseConfigurable {
/**
* Returns the name of the driver being used, or null if none can be used.
*/
readonly activeDriver: string;
/**
* Removes every key from the database, returning it to a blank slate.
*
* clear() will remove every item in the offline store. Use this method with caution.
*/
clear(): Promise;
/**
* Gets an item from the storage library.
* If the key does not exist, getItem() will return null.
* @param key Data key
*/
getItem(key: string): Promise;
/**
* Iterate over all value/key pairs in datastore.
* iteratee is called once for each pair, with the following arguments:
*
* - Value
* - Key
* - iterationNumber - one-based number
*
* iterate() supports early exit by returning non undefined value inside iteratorCallback callback.
* @param iteratee
*/
iterate(iteratee: (value: T, key: string, iterationNumber: number) => U): Promise;
/**
* Get the name of a key based on its ID.
* @param index
*/
key(index: number): Promise;
/**
* Get the list of all keys in the datastore.
*/
keys(): Promise;
/**
* Gets the number of keys in the offline store (i.e. its “length”).
*/
length(): Promise;
/**
* Even though localForage queues up all of its data API method calls,
* ready() provides a way to determine whether the asynchronous driver initialization process has finished.
* That’s useful in cases like when we want to know which driver localForage has settled down using.
*/
ready(): Promise;
/**
* Removes the value of a key from the offline store.
* @param key Data key
*/
removeItem(key: string): Promise;
/**
* Saves data to an offline store. You can store the following types of JavaScript objects:
*
* - Array
* - ArrayBuffer
* - Blob
* - Float32Array
* - Float64Array
* - Int8Array
* - Int16Array
* - Int32Array
* - Number
* - Object
* - Uint8Array
* - Uint8ClampedArray
* - Uint16Array
* - Uint32Array
* - String
*
* @param key Data key
* @param data Data
*/
setItem(key: string, data: T): Promise;
/**
* Check whether the given driver is supported/registered.
* @param driver Driver name
*/
supports(driver: string): boolean;
}