import { Pattern } from '../../../types';
export interface FailureRecord {
    patternId: string;
    description: string;
    from: string;
    to: string;
    rejectCount: number;
    acceptCount: number;
    totalSignals: number;
    failureRate: number;
    lastRejected: number;
    category: string;
    language: string;
    commonAlternatives: string[];
}
export interface AvoidSuggestion {
    patternId: string;
    description: string;
    failureRate: number;
    severity: 'critical' | 'high' | 'medium' | 'low';
    reason: string;
    alternativeDescription: string;
    developerCount: number;
}
export interface EngineeringLesson {
    id: number;
    patternId: string;
    description: string;
    category: string;
    language: string;
    failureRate: number;
    alternative: string;
    learnedAt: string;
    project: string;
}
export declare function initFailureMemoryTable(): void;
export declare function recordFailure(pattern: Pattern, isReject: boolean, language?: string, project?: string): FailureRecord;
export declare function getAvoidSuggestions(minFailureRate?: number, project?: string): AvoidSuggestion[];
export declare function getFailureStats(project?: string): {
    totalTracked: number;
    criticalCount: number;
    highCount: number;
    mediumCount: number;
    lowCount: number;
    avgFailureRate: number;
};
export declare function getFailureRecord(patternId: string): FailureRecord | undefined;
export declare function getAllFailureRecords(project?: string): FailureRecord[];
export declare function clearFailures(project?: string): void;
export declare function persistEngineeringLesson(patternId: string, description: string, category: string, language: string, failureRate: number, alternative: string, project?: string): EngineeringLesson;
export declare function getEngineeringLessons(project?: string, limit?: number): EngineeringLesson[];
export declare function getLessonByPattern(patternId: string): EngineeringLesson | null;
export declare function formatEngineeringLesson(lesson: EngineeringLesson): string;
//# sourceMappingURL=failure-memory.d.ts.map