import { IExecutorEngine } from "./engines/base"; import { RequestTableDataStatement } from "./statement"; import { WorkflowGraph } from "../types"; import { Output, ExecutionError } from "../models/workflowNode"; export declare namespace WorkflowExecutor { interface IHandlers { onNodeExecutionError(nodeId: string, reason: ExecutionError): void; onNodeExecutionSuccess(nodeId: string, payload: Output): void; onNodeExecutionStart(nodeId: string): void; onRequestTableDataSucces(nodeId: string, name: string, data: any[][]): void; } interface IOptions { engine: IExecutorEngine; handlers: IHandlers; graphGetter: () => WorkflowGraph; } } export declare class WorkflowExecutor { private readonly _engine; private readonly _statementFactory; private readonly _handlers; private readonly _graphGetter; private readonly _statementIdGenerator; private _initialized; constructor(options: WorkflowExecutor.IOptions); requestTableData(id: string, name: string, ix: [number, number], iy: [number, number]): Promise; private _executeNode; private _wrapError; execute(): void; }