/**
 * Task Complexity Estimator
 *
 * Analyzes tasks and estimates their complexity:
 * - Natural language task parsing
 * - Scope estimation
 * - Risk assessment
 * - Time/effort estimation
 */
export type ComplexityLevel = 'trivial' | 'simple' | 'moderate' | 'complex' | 'very-complex';
export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
export type TaskCategory = 'bug-fix' | 'feature' | 'refactor' | 'documentation' | 'testing' | 'infrastructure' | 'security' | 'performance' | 'ui-ux' | 'data-migration' | 'integration' | 'unknown';
export interface ComplexityFactors {
    scopeScore: number;
    technicalDebt: number;
    unknowns: number;
    dependencies: number;
    testingEffort: number;
    riskOfRegression: number;
}
export interface TaskEstimate {
    task: string;
    category: TaskCategory;
    complexity: ComplexityLevel;
    complexityScore: number;
    factors: ComplexityFactors;
    risks: RiskAssessment[];
    effort: EffortEstimate;
    suggestions: string[];
    confidence: number;
}
export interface RiskAssessment {
    risk: string;
    level: RiskLevel;
    mitigation?: string;
}
export interface EffortEstimate {
    minHours: number;
    maxHours: number;
    typicalHours: number;
    breakdown: {
        planning: number;
        implementation: number;
        testing: number;
        review: number;
    };
}
/**
 * Estimate task complexity
 */
export declare function estimateTaskComplexity(taskDescription: string): TaskEstimate;
/**
 * Format task estimate for display
 */
export declare function formatTaskEstimate(estimate: TaskEstimate): string;
/**
 * Compare multiple task estimates
 */
export declare function compareTasks(tasks: string[]): {
    estimates: TaskEstimate[];
    priorityOrder: number[];
    totalEffort: EffortEstimate;
};
export default estimateTaskComplexity;
