/**
 * Ambiguity Detection & Resolution System for UAP
 *
 * Implements P37: Ambiguity Detection pattern.
 * Scores task instructions for ambiguity and generates clarifying questions
 * when the score exceeds configurable thresholds.
 *
 * Ambiguity Levels:
 * - score >= 0.6: MUST ask clarifying questions before execution
 * - score 0.3-0.6: State assumptions explicitly, proceed with caution
 * - score < 0.3: Execute directly (task is clear)
 */
export type AmbiguityLevel = 'clear' | 'moderate' | 'high';
export interface AmbiguitySignal {
    type: 'pronoun' | 'relative_ref' | 'unspecified_target' | 'missing_scope' | 'contradiction' | 'implicit_assumption' | 'vague_quantifier' | 'undefined_term' | 'missing_criteria' | 'underspecified_format' | 'optional_unspecified' | 'style_unspecified' | 'error_handling' | 'edge_case';
    weight: number;
    match: string;
    context: string;
}
export interface ClarifyingQuestion {
    question: string;
    defaultAnswer: string;
    priority: 'blocking' | 'important' | 'nice_to_know';
    relatedSignal: AmbiguitySignal;
}
export interface AmbiguityResult {
    score: number;
    level: AmbiguityLevel;
    signals: AmbiguitySignal[];
    questions: ClarifyingQuestion[];
    assumptions: string[];
    shouldAsk: boolean;
}
/**
 * Detect ambiguity in a task instruction and generate clarifying questions.
 *
 * @param instruction - The task instruction to analyze
 * @param projectContext - Optional project context for resolving domain terms
 * @returns AmbiguityResult with score, signals, questions, and assumptions
 */
export declare function detectAmbiguity(instruction: string, projectContext?: {
    knownEntities?: string[];
    recentFiles?: string[];
}): AmbiguityResult;
/**
 * Format ambiguity result for injection into agent context
 */
export declare function formatAmbiguityForContext(result: AmbiguityResult): string;
declare const _default: {
    detectAmbiguity: typeof detectAmbiguity;
    formatAmbiguityForContext: typeof formatAmbiguityForContext;
};
export default _default;
//# sourceMappingURL=ambiguity-detector.d.ts.map