import type { AgentRelayOptions } from '../relay.js';
import type { DryRunReport, TrajectoryConfig, WorkflowRunRow } from './types.js';
import { type WorkflowEventListener } from './runner.js';
import type { VariableContext } from './template-resolver.js';
/**
 * Options for the `runWorkflow` convenience function.
 */
export interface RunWorkflowOptions {
    /** Workflow name within the YAML file. Defaults to the first workflow. */
    workflow?: string;
    /** Template variable substitutions for {{variable}} placeholders. */
    vars?: VariableContext;
    /** Working directory. Defaults to process.cwd(). */
    cwd?: string;
    /** AgentRelay options (all optional — broker starts automatically). */
    relay?: AgentRelayOptions;
    /** Progress callback for workflow events. */
    onEvent?: WorkflowEventListener;
    /** Override trajectory config. Set to false to disable trajectory recording. */
    trajectories?: TrajectoryConfig | false;
    /** Validate and show execution plan without running. */
    dryRun?: boolean;
    /** Resume a failed run by its ID instead of starting fresh. */
    resume?: string;
    /** Skip to a specific step (re-uses cached outputs from earlier steps). */
    startFrom?: string;
    /** Previous run ID whose cached step outputs are used with startFrom. */
    previousRunId?: string;
}
/**
 * Run a workflow from a relay.yaml file with zero configuration.
 *
 * @example
 * ```typescript
 * import { runWorkflow } from "@agent-relay/sdk/workflows";
 *
 * const result = await runWorkflow("workflows/daytona-migration.yaml");
 * console.log(result.status); // "completed" | "failed"
 * ```
 */
export declare function runWorkflow(yamlPath: string, options: RunWorkflowOptions & {
    dryRun: true;
}): Promise<DryRunReport>;
export declare function runWorkflow(yamlPath: string, options?: RunWorkflowOptions): Promise<WorkflowRunRow>;
//# sourceMappingURL=run.d.ts.map