/**
 * Workflow execution engine.
 *
 * Loads a workflow's structured steps, resolves their dependency order,
 * executes each step by spawning the target plugin's MCP server, passes
 * outputs between steps via named template variables, and records the run
 * as WorkflowRun + StepResult nodes.
 *
 * After task 127 the engine handles only `type:'tool'` steps. Plugins that
 * want LLM reasoning own their own SDK call inside a tool.
 *
 *   LOAD WORKFLOW + STEPS
 *     │
 *     v
 *   CREATE WorkflowRun (status: running)
 *     │
 *     v
 *   RESOLVE ORDER (topological sort)
 *     │
 *     v
 *   FOR EACH STEP:
 *     ├─ resolve {{templates}} in params → spawn MCP server → call tool
 *     ├─ parse output (JSON or _raw fallback, strips markdown fences)
 *     ├─ store output under step's outputKey
 *     ├─ create StepResult node (status: completed | skipped | failed)
 *     └─ on failure: abort | skip | retry (per step config)
 *     │
 *     v
 *   UPDATE WorkflowRun status:
 *     any failed → "failed"
 *     any skipped → "partial"
 *     else → "completed"
 */
export interface WorkflowExecuteParams {
    workflowId: string;
    accountId: string;
    context?: Record<string, unknown>;
    trigger?: "conversational" | "schedule" | "manual";
}
export interface WorkflowExecuteResult {
    runId: string;
    status: "completed" | "partial" | "failed";
    stepsCompleted: number;
    stepsDegraded: number;
    stepsSkipped: number;
    stepsFailed: number;
    stepsTotal: number;
    error?: string;
}
export declare function workflowExecute(params: WorkflowExecuteParams): Promise<WorkflowExecuteResult>;
//# sourceMappingURL=workflow-execute.d.ts.map