import type { ExecutionPromptPolicy, ExecutionSelectionDecision, ExecutionStrategy, RunRouteDecision, RunState, UserIntent } from "../../contracts/orchestration.js";
import type { Dag, DagNodeDefinition } from "../../orchestration/dag.js";
import type { ProviderPolicy } from "../../providers/index.js";
import type { IntentFrame } from "../../contracts/goal.js";
export declare function resolveParallelCommandExecutionDecision(input: {
    requestedPolicy: ExecutionPromptPolicy | undefined;
    configPolicy: ExecutionPromptPolicy;
    strategyOverride: ExecutionStrategy | undefined;
    intent: UserIntent;
    isTTY: boolean;
}): Promise<ExecutionSelectionDecision>;
export declare function createInteractiveRunState(input: {
    runId: string;
    flow: string;
    goal: string;
    intentFrame?: IntentFrame;
    workerCount: number;
    startedAt: string;
    approvalPolicy: string;
    goalId?: string;
    goalSnapshot?: RunState["goalSnapshot"];
    intent?: UserIntent;
    profile?: string;
    providerPolicy?: ProviderPolicy;
    executionStrategy?: ExecutionStrategy;
}): RunState;
export declare function buildParallelRouteDecision(goal: string, intent: UserIntent | undefined): RunRouteDecision;
export interface DynamicNodeBuildInput {
    flow: string;
    goal: string;
    intentFrame?: IntentFrame;
    startedAt: string;
    workerCount: number;
    intent?: UserIntent;
    profile?: string;
    providerPolicy?: ProviderPolicy;
    executionStrategy?: ExecutionStrategy;
}
export declare function buildDynamicNodes(input: DynamicNodeBuildInput): DagNodeDefinition[];
export declare function createExecutableDagFromState(state: RunState): Dag;
