import type { RunRouteDecision, RunState } from "../contracts/orchestration.js";
import type { Dag, DagNodeDefinition } from "./dag.js";
export declare function createRoutedRunState(input: {
    runId: string;
    startedAt: string;
    nodes: DagNodeDefinition[];
    completedAt?: string;
    workerCount?: number;
    goalId?: string;
    goal?: RunState["goal"];
    goalObjective?: string;
    goalSnapshot?: RunState["goalSnapshot"];
    routeDecision?: RunRouteDecision;
    capabilityAssignments?: RunState["capabilityAssignments"];
}): RunState;
export declare function assignNodeCapabilitiesToRunState(state: RunState, assignments?: RunState["capabilityAssignments"]): RunState;
export declare function createDagFromRunState(state: RunState): Dag;
export declare function createExecutableDagFromState(state: RunState): Dag;
export declare function routeRunState(state: RunState, workerCount?: number): RunState;
export declare function refreshRunStateEstimate(state: RunState, workerCount?: number): RunState;
export interface RunGoalState {
    id?: string;
    title?: string;
    objective: string;
    successCriteria: Array<{
        id: string;
        description: string;
        requirement: string;
    }>;
    status: "planned";
}
export declare function buildRunGoalState(input: {
    goalId?: string;
    goalSnapshot?: RunState["goalSnapshot"];
    fallbackObjective?: string;
}): RunGoalState | undefined;
