import type { Message, CrowcoderConfig } from './types.js'; export interface SubAgent { id: string; name: string; model: string; task: string; status: 'pending' | 'running' | 'done' | 'error'; result?: string; startedAt?: number; finishedAt?: number; tokenCount?: number; } export interface OrchestrationPlan { mainTask: string; agents: SubAgent[]; strategy: 'parallel' | 'sequential' | 'cascade'; } declare function createSubAgent(name: string, task: string, model: string): SubAgent; /** * Run multiple sub-agents in parallel. */ export declare function runParallel(agents: SubAgent[], config: CrowcoderConfig, contextMessages: Message[]): Promise; /** * Run sub-agents sequentially, each seeing prior results. */ export declare function runSequential(agents: SubAgent[], config: CrowcoderConfig, contextMessages: Message[]): Promise; /** * Cascade: run fast model first, escalate to powerful if needed. */ export declare function runCascade(task: string, config: CrowcoderConfig, contextMessages: Message[], fastModel: string, powerModel: string): Promise; /** * Build an orchestration prompt for the AI to decompose a task. */ export declare function buildOrchestrationPrompt(task: string): string; export declare function mergeResults(agents: SubAgent[]): string; export declare function printOrchestrationStatus(agents: SubAgent[]): void; export { createSubAgent };