import { Payload } from "../Payload";
import { TupleActionStorageServiceABC } from "./TupleActionStorageServiceABC";
import { TupleActionABC } from "../TupleAction";
import * as i0 from "@angular/core";
/** Tuple Storage IndexedDB
 *
 * This class handles storing and retrieving tuples to/from indexed db.
 *
 */
export declare class TupleActionStorageIndexedDbService extends TupleActionStorageServiceABC {
    private db;
    private openInProgressPromise;
    private readonly RETRIES;
    private readonly RETRY_DELAY_MS;
    constructor();
    storeAction(scope: string, tupleAction: TupleActionABC, payload: Payload): Promise<void>;
    loadNextAction(): Promise<Payload | null>;
    countActions(): Promise<number>;
    deleteAction(scope: string, actionUuid: string): Promise<void>;
    open(): Promise<void>;
    isOpen(): boolean;
    close(): void;
    private delay;
    private transaction;
    static ɵfac: i0.ɵɵFactoryDeclaration<TupleActionStorageIndexedDbService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TupleActionStorageIndexedDbService>;
}
