export type LessonSeverity = 'low' | 'medium' | 'high';
export type LessonCategory = 'estimation' | 'testing' | 'architecture' | 'security' | 'performance' | 'ux' | 'process' | 'other';
export interface Lesson {
    id: string;
    projectId: string;
    specId?: string;
    category: LessonCategory;
    severity: LessonSeverity;
    title: string;
    description: string;
    prevention: string;
    tags: string[];
    createdAt: string;
}
export interface LessonsStore {
    projectId: string;
    lessons: Lesson[];
    updatedAt: string;
}
export interface LogLessonInput {
    projectId: string;
    projectPath: string;
    specId?: string;
    category: LessonCategory;
    severity: LessonSeverity;
    title: string;
    description: string;
    prevention: string;
    tags?: string[];
}
export interface ListLessonsInput {
    projectId: string;
    projectPath: string;
    category?: LessonCategory;
    severity?: LessonSeverity;
    specId?: string;
    limit?: number;
}
export interface LessonCategoryStats {
    category: LessonCategory;
    count: number;
}
export interface LessonFilters {
    category?: LessonCategory;
    severity?: LessonSeverity;
    specId?: string;
    tags?: string[];
    limit?: number;
}
/** Result entry from searchLessons — lesson paired with its Jaccard similarity score. SPEC-526 */
export interface LessonSearchResult {
    lesson: Lesson;
    score: number;
}
//# sourceMappingURL=lessons.d.ts.map