import type Database from 'better-sqlite3';
import type { InsightRecord } from '../../types/research.types.js';
type InsightCreate = Omit<InsightRecord, 'id' | 'created_at'>;
type InsightUpdate = Partial<Omit<InsightRecord, 'id' | 'created_at'>>;
export declare class InsightRepository {
    private db;
    private stmts;
    constructor(db: Database.Database);
    create(data: InsightCreate): number;
    getById(id: number): InsightRecord | undefined;
    update(id: number, data: InsightUpdate): boolean;
    delete(id: number): boolean;
    findActive(projectId?: number): InsightRecord[];
    findByType(type: string): InsightRecord[];
    findByPriority(minPriority: number): InsightRecord[];
    expire(): number;
    rate(id: number, rating: number, comment?: string): boolean;
    findRated(minRating?: number): InsightRecord[];
}
export {};
