import { Observable } from 'rxjs';
import { Storage } from '@ionic/storage';
import { AsyncStorageService, LogService } from '@eui/base';
import * as i0 from "@angular/core";
/**
 * ionic storage service, using the @ionic/storage library
 * https://ionicframework.com/docs/building/storage
 */
export declare class IonicStorageService extends AsyncStorageService {
    protected storage: Storage;
    protected log: LogService;
    static NAME: string;
    constructor(storage: Storage, 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 storage
     * @param key the associated key
     * @returns one time emission Observable of value
     */
    get(key: string): Observable<any>;
    /**
     * sets an object in storage
     * @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 storage
     * @param key the associated key
     * @returns one time emission Observable
     */
    remove(key: string): Observable<any>;
    static ɵfac: i0.ɵɵFactoryDef<IonicStorageService, [null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDef<IonicStorageService>;
}
