import type { ErrorStrategy, OutputFormat, InputParamDef } from './workflow.js';
export type NodeStatus = 'pending' | 'running' | 'completed' | 'failed' | 'skipped';
export interface DAGNode {
    id: string;
    description?: string;
    type: 'prompt' | 'bash' | 'command';
    content: string;
    dependsOn: string[];
    when?: string;
    triggerRule: 'all_success' | 'one_success';
    context: 'fresh' | 'inherit';
    workspace: boolean;
    model?: string;
    allowedTools?: string[];
    outputFormat?: OutputFormat;
    status: NodeStatus;
    output?: string;
    structuredOutput?: Record<string, unknown>;
    durationMs?: number;
    error?: string;
    idempotent: boolean;
    errorStrategy: ErrorStrategy;
    timeout?: number;
    loop?: {
        onFail: string;
        maxRetries: number;
        injectError: boolean;
        backoffMs?: number;
    };
}
export interface DAGGraph {
    name: string;
    description: string;
    defaultProvider: string;
    defaultModel: string;
    inputs?: Record<string, InputParamDef>;
    nodes: Map<string, DAGNode>;
}
//# sourceMappingURL=dag.d.ts.map