///
import * as dbadapters from "@dataform/api/dbadapters";
import { dataform } from "@dataform/protos";
export declare function run(graph: dataform.IExecutionGraph, dbadapter: dbadapters.IDbAdapter): Runner;
export declare class Runner {
static create(adapter: dbadapters.IDbAdapter, graph: dataform.IExecutionGraph): Runner;
private adapter;
private graph;
private pendingActions;
private cancelled;
private timedOut;
private runResult;
private changeListeners;
private timeout;
private executionTask;
private eEmitter;
constructor(adapter: dbadapters.IDbAdapter, graph: dataform.IExecutionGraph);
onChange(listener: (graph: dataform.IRunResult) => Promise | void): Runner;
execute(): this;
cancel(): void;
result(): Promise;
private triggerChange;
private executeGraph;
private prepareAllSchemas;
private executeAllActionsReadyForExecution;
private removeExecutableActionsFromPending;
private removeSkippableActionsFromPending;
private executeAction;
private executeTask;
private actionHasCacheHit;
}