/** * Ambiguity Detector * Detects vague and ambiguous language in requirements */ export interface AmbiguityIssue { type: AmbiguityType; text: string; suggestion: string; severity: 'critical' | 'major' | 'minor'; line?: number; context?: string; } export type AmbiguityType = 'vague_adjective' | 'vague_adverb' | 'passive_voice' | 'missing_quantity' | 'escape_clause' | 'open_ended' | 'subjective_term'; export declare class AmbiguityDetector { private patterns; constructor(language?: 'vi' | 'en' | 'both'); /** * Analyze a single requirement for ambiguity */ analyzeRequirement(text: string, lineNumber?: number): AmbiguityIssue[]; /** * Analyze multiple requirements */ analyzeRequirements(requirements: string[]): Map; /** * Get surrounding context for a match */ private getContext; /** * Get statistics about ambiguity issues */ getStatistics(issues: AmbiguityIssue[]): { total: number; bySeverity: Record; byType: Record; }; }