import { Base } from "@executors/base";
import { ITransactionQuery, WebWorkerRequest } from "@/common";
import { IDBUtil } from "@worker/idbutil";
import { LogHelper } from "@worker/utils";
export declare class Transaction extends Base {
    results: any;
    reqQueue: WebWorkerRequest[];
    isQueryExecuting: boolean;
    isTxStarted_: boolean;
    onSuccess: (result: any) => void;
    onError: (err: LogHelper) => void;
    beforeExecute: () => Promise<void>;
    constructor(qry: ITransactionQuery, util: IDBUtil);
    execute(cb: () => Promise<void>): Promise<void>;
    validate(): LogHelper;
    private startExecution_;
    log(message: any): void;
    private startTx_;
    private onReqFinished_;
    private abortTx_;
    private executeRequest_;
    private pushReq_;
    private processExecutionOfQry_;
    private notExistingTable_;
}
