import type { BackendId, EffortLevel, PlanDag, PlanNode, ReconcileResult } from "./types.js";
export { loadInstructionFiles } from "./brain.js";
export declare const PLANNER_MODEL = "claude-sonnet-4-6";
export declare function parsePlanBlock(output: string): PlanDag;
export declare function gateDecision(dag: PlanDag): {
    autoRun: boolean;
    reason: string;
};
export type PlanContext = {
    root: string;
    branch: string;
};
export declare function planTask(task: string, ctx: PlanContext): Promise<PlanDag>;
/**
 * Infer the new node's deps against the current frontier. On any LLM failure
 * (timeout / no model / unparsable), fall back to a SOFT edge to every frontier
 * node: this over-delivers context and never deadlocks. Never a default hard
 * edge.
 */
export declare function reconcile(task: string, frontierNodes: PlanNode[], ctx: PlanContext): Promise<ReconcileResult>;
export type FanoutOptions = {
    backend?: BackendId;
    model?: string;
    effort?: EffortLevel;
};
export declare function buildFanoutDag(task: string, n: number, opts?: FanoutOptions): PlanDag;
export declare function scaffoldPlan(repoRoot: string, dag: PlanDag): Promise<void>;
