/**
 * Intent Validator Service
 *
 * Validates natural language UI descriptions against the intent dictionary,
 * extracting UI intents and matching them to shadcn/ui component patterns.
 *
 * @module services/IntentValidator
 */
import { IntentDictionary, IntentValidationReport, IntentMapping } from "../types/intent-dictionary";
/**
 * Main service for validating UI intents from natural language
 */
export declare class IntentValidator {
    private dictionary;
    private dictionaryPath;
    private fuse;
    /**
     * @param dictionaryPath - Optional path to custom dictionary (defaults to built-in)
     */
    constructor(dictionaryPath?: string);
    /**
     * Load intent dictionary from JSON file
     */
    private loadDictionary;
    /**
     * Initialize Fuse.js for fuzzy matching
     */
    private initializeFuse;
    /**
     * Get minimal default dictionary as fallback
     */
    private getDefaultDictionary;
    /**
     * Main validation method - analyzes context files and extracts UI intents
     */
    validateContextFiles(prd: string, types?: string, brand?: string): Promise<IntentValidationReport>;
    /**
     * Extract UI intent phrases from text using pattern matching
     */
    private extractIntentsFromText;
    /**
     * Extract surrounding context for an intent match
     */
    private extractContext;
    /**
     * Match extracted intents against dictionary
     */
    private matchIntents;
    /**
     * Find exact phrase match in dictionary
     */
    private findExactMatch;
    /**
     * Find match via synonym lookup
     */
    private findSynonymMatch;
    /**
     * Fuzzy match using Fuse.js for better accuracy
     */
    private fuzzyMatch;
    /**
     * Resolve placeholder values from context
     */
    private resolvePlaceholders;
    /**
     * Detect ambiguous intents (multiple high-confidence matches)
     */
    private detectAmbiguities;
    /**
     * Generate reasoning for why an intent matched
     */
    private generateReasoning;
    /**
     * Find unknown intents that couldn't be matched
     */
    private findUnknownIntents;
    /**
     * Calculate overall confidence score
     */
    private calculateConfidence;
    /**
     * Generate clarification requests for ambiguous intents
     */
    private generateClarifications;
    /**
     * Generate warnings about validation results
     */
    private generateWarnings;
    /**
     * Generate suggestions for improving intent detection
     */
    private generateSuggestions;
    /**
     * Update usage analytics
     */
    private updateAnalytics;
    /**
     * Utility: capitalize first letter
     */
    private capitalize;
    /**
     * Get current dictionary for inspection
     */
    getDictionary(): IntentDictionary;
    /**
     * Get list of available intents
     */
    getAvailableIntents(): string[];
    /**
     * Get intent mapping by canonical name
     */
    getIntentMapping(canonicalName: string): IntentMapping | null;
}
//# sourceMappingURL=IntentValidator.d.ts.map