import { AtomicTask, TaskPriority, TaskType } from '../types/task.js'; import { FileOperationResult } from '../utils/file-utils.js'; export interface TaskRefinementParams { title?: string; description?: string; type?: TaskType; priority?: TaskPriority; estimatedHours?: number; filePaths?: string[]; acceptanceCriteria?: string[]; tags?: string[]; dependencies?: string[]; } export interface RedecompositionParams { reason: string; newRequirements?: string; contextChanges?: string[]; forceDecomposition?: boolean; } export interface RefinementResult { success: boolean; originalTask: AtomicTask; refinedTask?: AtomicTask; decomposedTasks?: AtomicTask[]; wasDecomposed: boolean; changes: string[]; error?: string; metadata: { operation: string; timestamp: Date; refinedBy: string; }; } export interface RefinementHistoryEntry { id: string; taskId: string; operation: string; changes: string[]; refinedBy: string; timestamp: Date; success: boolean; error?: string; } export declare class TaskRefinementService { private static instance; private decompositionService; private constructor(); static getInstance(): TaskRefinementService; private initializeDecompositionService; refineTask(taskId: string, refinements: TaskRefinementParams, refinedBy?: string): Promise; redecomposeTask(taskId: string, params: RedecompositionParams, refinedBy?: string): Promise; bulkRefineTask(taskIds: string[], refinements: TaskRefinementParams, refinedBy?: string): Promise; private validateRefinementParams; private applyRefinements; private shouldRedecompose; private performRedecomposition; getRefinementHistory(_taskId: string): Promise>; analyzeTaskComplexity(taskId: string): Promise>; private performComplexityAnalysis; private getProjectLanguages; private getProjectFrameworks; private getProjectTools; private determineCodebaseSize; private getTeamSize; private determineTaskComplexity; } export declare function getTaskRefinementService(): TaskRefinementService; //# sourceMappingURL=task-refinement-service.d.ts.map