export interface TaskDecomposition { originalTask: string; isTooLarge: boolean; suggestedBreakdown?: SubTask[]; estimatedTokens?: number; reason?: string; } export interface SubTask { id: string; description: string; dependencies: string[]; acceptanceCriteria: string[]; estimatedComplexity: "simple" | "medium" | "complex"; } export declare class TaskDecomposer { /** * Analyze if task needs decomposition * * Criteria: * - More than 3 files need modification * - More than 200 lines of code to write * - Involves multiple systems/modules * - Has complex logic flow */ analyzeTask(taskDescription: string): TaskDecomposition; /** * Automatically decompose task into subtasks * * Principles: * - Each subtask modifies only 1-2 files * - Each subtask is independently testable * - Has clear completion criteria */ decomposeTask(taskDescription: string): SubTask[]; /** * Validate if task is really complete * * Checks: * - No TODO/FIXME comments * - No mock data * - All defined structures are used * - All tests pass */ validateCompletion(): { isComplete: boolean; issues: string[]; }; /** * Estimate number of files to modify based on description */ private estimateFileCount; /** * Estimate lines of code based on description */ private estimateLineCount; /** * Estimate complexity based on description */ private estimateComplexity; /** * Explain why task is too large */ private explainWhy; /** * Extract logical components from task description */ private extractComponents; } //# sourceMappingURL=task-decomposer.d.ts.map