/**
 * Mistake Pattern Learning System
 * Replaces complex database-based mistake tracking with simple pattern matching
 */
import { MistakePattern, MistakeWarning } from './types.js';
export declare class MistakeLearner {
    private projectRoot;
    private mistakesPath;
    constructor(projectRoot: string);
    loadMistakes(): Promise<MistakePattern[]>;
    saveMistakes(mistakes: MistakePattern[]): Promise<void>;
    checkForKnownMistakes(code: string): Promise<MistakeWarning[]>;
    /**
     * Calculate a more sophisticated match score between code and pattern
     */
    private calculateMatchScore;
    /**
     * Assign weights to keywords based on their importance for mistake detection
     */
    private getKeywordWeight;
    recordMistake(pattern: string, context: string, solution?: string): Promise<void>;
    getRecentMistakes(limit?: number): Promise<MistakePattern[]>;
    getFrequentMistakes(minFrequency?: number): Promise<MistakePattern[]>;
    private matchesPattern;
    private isSimilarPattern;
    private calculateSimilarity;
    private levenshteinDistance;
    private extractKeywords;
    private generateId;
    getMistakeStats(): Promise<{
        total: number;
        recent: number;
        frequent: MistakePattern[];
    }>;
}
//# sourceMappingURL=mistake-learner.d.ts.map