/**
 * Orchestrator spawn logic.
 * Ports lib/skills/orchestrator-spawn.sh (prompt building functions from orchestrator-startup.sh).
 *
 * Builds fully-resolved prompts for subagent spawning by:
 *   1. Loading skill template (SKILL.md)
 *   2. Injecting token values
 *   3. Appending protocol base
 *   4. Appending task context
 *
 * @epic T4454
 * @task T4519
 */
import type { Task } from '@cleocode/contracts';
import type { SpawnPromptResult } from '../types.js';
/**
 * Build a fully-resolved prompt for spawning a subagent.
 * @task T4519
 */
export declare function buildPrompt(taskId: string, templateName?: string, cwd?: string, tier?: 0 | 1 | 2): Promise<SpawnPromptResult>;
/**
 * Generate full spawn command with metadata.
 * @task T4519
 */
export declare function spawn(taskId: string, templateName?: string, cwd?: string, tier?: 0 | 1 | 2): Promise<SpawnPromptResult & {
    spawnTimestamp: string;
}>;
/**
 * Check if tasks can be spawned in parallel (no inter-dependencies).
 * @task T4519
 */
export declare function canParallelize(taskIds: string[], cwd?: string): Promise<{
    canParallelize: boolean;
    conflicts: Array<Pick<Task, 'id'> & {
        dependsOn: string[];
    }>;
    safeToSpawn: string[];
}>;
/** Result of a single spawn within a batch. */
export interface BatchSpawnEntry {
    taskId: string;
    success: boolean;
    result?: SpawnPromptResult & {
        spawnTimestamp: string;
    };
    error?: string;
}
/** Result of a batch spawn operation. */
export interface BatchSpawnResult {
    count: number;
    succeeded: number;
    failed: number;
    spawns: BatchSpawnEntry[];
}
/**
 * Spawn prompts for multiple tasks in a batch.
 * Ports orchestrator_spawn_batch from lib/skills/orchestrator-spawn.sh.
 *
 * Iterates over task IDs, building spawn prompts for each. Individual failures
 * are captured per-entry rather than aborting the entire batch.
 *
 * @task T4712
 * @epic T4663
 */
export declare function spawnBatch(taskIds: string[], templateName?: string, cwd?: string, tier?: 0 | 1 | 2): Promise<BatchSpawnResult>;
//# sourceMappingURL=spawn.d.ts.map