export interface TaskComplexityAnalysis {
    taskId: string;
    title: string;
    description: string;
    complexityScore: number;
    complexityLevel: "trivial" | "simple" | "moderate" | "complex" | "expert";
    estimatedHours: number;
    riskFactors: string[];
    dependencies: string[];
    skillsRequired: string[];
    recommendedSubtasks: number;
    breakdownRecommendation: "none" | "optional" | "recommended" | "required";
    reasoning: string;
}
export interface SubtaskDefinition {
    id: string;
    title: string;
    description: string;
    type: "setup" | "implementation" | "testing" | "documentation" | "integration";
    priority: "low" | "medium" | "high" | "critical";
    estimatedHours: number;
    dependencies: string[];
    skillsRequired: string[];
    acceptanceCriteria: string[];
    notes?: string;
}
export interface TaskBreakdownResult {
    originalTask: {
        id: string;
        title: string;
        description: string;
    };
    analysis: TaskComplexityAnalysis;
    subtasks: SubtaskDefinition[];
    totalEstimatedHours: number;
    criticalPath: string[];
    recommendations: string[];
}
export declare class TaskAnalyzer {
    constructor();
    /**
     * Analyze task complexity using AI
     */
    analyzeComplexity(taskId: string, title: string, description: string, context?: {
        projectType?: string;
        techStack?: string[];
        teamSize?: number;
        timeline?: string;
    }): Promise<TaskComplexityAnalysis>;
    /**
     * Break down a complex task into subtasks
     */
    breakdownTask(taskId: string, title: string, description: string, targetSubtasks?: number, context?: {
        projectType?: string;
        techStack?: string[];
        constraints?: string[];
        preferences?: string[];
    }): Promise<TaskBreakdownResult>;
    /**
     * Analyze multiple tasks and recommend which ones need breakdown
     */
    analyzeTaskList(tasks: Array<{
        id: string;
        title: string;
        description: string;
    }>, context?: {
        projectType?: string;
        techStack?: string[];
        teamExperience?: "junior" | "mid" | "senior" | "mixed";
    }): Promise<{
        analyses: TaskComplexityAnalysis[];
        recommendations: {
            immediate: string[];
            optional: string[];
            defer: string[];
        };
        totalEstimatedHours: number;
    }>;
    private buildComplexityAnalysisPrompt;
    private buildBreakdownPrompt;
    private parseComplexityResponse;
    private parseBreakdownResponse;
    private createFallbackAnalysis;
    private createFallbackBreakdown;
    private callAI;
}
//# sourceMappingURL=task-analyzer.d.ts.map