import { MiniMaxAgent } from './minimax-agent.js'; export interface SubagentConfig { id: string; specialization: string; context: string; maxToolRounds: number; workingDirectory?: string; parentAgentId?: string; } export interface SubagentTask { id: string; description: string; priority: 'low' | 'medium' | 'high'; context: string; timeout?: number; } export interface SubagentResult { subagentId: string; taskId: string; success: boolean; result: any; executionTime: number; error?: string; } export declare class SubagentManager { private subagents; private activeTasks; private taskResults; private parentAgent; constructor(parentAgent: MiniMaxAgent); /** * Spawn a new specialized subagent */ spawnSubagent(config: Omit): Promise; /** * Execute a task using a specific subagent */ executeTask(subagentId: string, task: SubagentTask): Promise; /** * Execute multiple tasks in parallel using available subagents */ executeTasksParallel(tasks: SubagentTask[], subagentConfigs: SubagentConfig[]): Promise; /** * Clean up a subagent */ cleanupSubagent(subagentId: string): void; /** * Clean up all subagents */ cleanupAllSubagents(): void; /** * Get active subagents */ getActiveSubagents(): string[]; /** * Get task results */ getTaskResults(taskIds?: string[]): SubagentResult[]; /** * Get subagent statistics */ getSubagentStats(): { totalSubagents: number; activeTasks: number; completedTasks: number; failedTasks: number; }; /** * Create specialized system prompt for subagent */ private createSpecializedPrompt; /** * Execute task with timeout */ private executeTaskWithTimeout; /** * Specialized subagent types */ static createFileAnalysisSubagent(workingDirectory?: string): Omit; static createLogAnalysisSubagent(workingDirectory?: string): Omit; static createDatabaseSubagent(workingDirectory?: string): Omit; static createTestingSubagent(workingDirectory?: string): Omit; static createDeploymentSubagent(workingDirectory?: string): Omit; }