import type { TaskAssignment, Subtask, SessionInfo, ExecutionCallbacks, ApiContract, SubtaskQuestion, TaskPlan, ProgressCallback } from '../types/index.js'; export interface TaskResult { result: string; sessionId?: string; costUsd?: number; durationMs?: number; isError: boolean; } /** * Execute a task by spawning a single Claude CLI session. * Used for agent_team mode or tasks that don't need planning. */ export declare function runTask(task: TaskAssignment, onProgress: ProgressCallback, signal?: AbortSignal, confirmBeforeEdit?: boolean): Promise; /** * Execute a single subtask by spawning a Claude CLI session. */ export declare function executeSubtask(subtask: Subtask, repoPath: string, contracts?: ApiContract[], callbacks?: ExecutionCallbacks, signal?: AbortSignal, confirmBeforeEdit?: boolean): Promise; /** * Build execution layers from subtask dependencies. * Subtasks with all dependencies met run in the same layer (parallel). */ export declare function buildExecutionLayers(subtasks: Subtask[]): Subtask[][]; /** * Execute a full task plan: run subtasks layer by layer, parallel within each layer. * Returns all session results. */ export declare function executeTaskWithPlan(task: TaskAssignment, plan: TaskPlan, onProgress: ProgressCallback, callbacks?: ExecutionCallbacks, signal?: AbortSignal, confirmBeforeEdit?: boolean): Promise<{ sessions: SessionInfo[]; status: 'done' | 'failed' | 'waiting_input'; }>; /** * Parse question from Claude output when question.json is missing. * Fallback for when Claude outputs NEEDS_INPUT but didn't create the file. */ export declare function parseQuestionFromOutput(output: string, subtaskId: string): SubtaskQuestion | null;