import { InjectionToken } from '@angular/core';
import { Observable } from 'rxjs';
import { AsyncStorageService } from './async-storage.service';
import { LogService } from '../log';
import * as i0 from "@angular/core";
/** @internal */
export declare const localForage: any;
export declare const LOCAL_FORAGE_SERVICE_CONFIG_TOKEN: InjectionToken<any>;
/**
 * localforage service, using the localForage javascript library
 * https://localforage.github.io/localForage
 */
export declare class LocalForageService extends AsyncStorageService {
    protected config: any;
    protected log: LogService;
    static NAME: string;
    constructor(config: any, log: LogService);
    /**
     * the name of the storage service
     */
    name(): string;
    /**
     * reflects the readiness of the storage
     * @returns one time emission Observable<void>
     */
    ready(): Observable<any>;
    /**
     * retrieve an object from localforage
     * @param key the associated key
     * @returns one time emission Observable of value
     */
    get(key: string): Observable<any>;
    /**
     * sets an object in localforage
     * @param key the associated key
     * @param value the value to set
     * @returns one time emission Observable
     */
    set(key: string, value: any): Observable<any>;
    /**
     * removes an object from localforage
     * @param key the associated key
     * @returns one time emission Observable
     */
    remove(key: string): Observable<any>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LocalForageService, [{ optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LocalForageService>;
}
//# sourceMappingURL=local-forage.service.d.ts.map