import type { Clark, ClarkStateHandlerParams } from "../../../state-machine/clark-fsm.js";
export interface CodingSubagentResult {
    workerId: string;
    steps: number;
    stopped: "completed" | "max_steps" | "error";
    error?: string;
}
/**
 * Run a single coding sub-agent to completion.
 *
 * The sub-agent is given a focused instruction blob from the main agent,
 * runs an isolated Clark `streamText` loop with tools filtered to
 * `SubagentType.CODING`, and exits when it stops producing tool calls or
 * hits `maxSteps`. Tool calls and tool results are forwarded to the UI so
 * the user can see progress; text/reasoning deltas are suppressed (the
 * main agent owns user-visible narration).
 *
 * Runs in parallel with sibling sub-agents — all shared mutable state
 * (e.g. the migration checklist JSON) must be serialized by the callees,
 * not here.
 */
export declare function runCodingSubagent(args: {
    clark: Clark;
    services: ClarkStateHandlerParams;
    workerId: string;
    instructions: string;
    maxSteps?: number;
}): Promise<CodingSubagentResult>;
//# sourceMappingURL=run-coding-subagent.d.ts.map