import type Database from 'better-sqlite3';
import type { ErrorRecord } from '../../types/error.types.js';
type CreateErrorData = Omit<ErrorRecord, 'id' | 'occurrence_count' | 'first_seen' | 'last_seen' | 'resolved' | 'resolved_at'>;
type UpdateErrorData = Partial<Omit<ErrorRecord, 'id' | 'first_seen'>>;
export declare class ErrorRepository {
    private db;
    private stmts;
    constructor(db: Database.Database);
    create(data: CreateErrorData): number;
    getById(id: number): ErrorRecord | undefined;
    update(id: number, data: UpdateErrorData): void;
    delete(id: number): void;
    findByFingerprint(fingerprint: string): ErrorRecord[];
    findByProject(projectId: number): ErrorRecord[];
    findUnresolved(projectId?: number): ErrorRecord[];
    countSince(since: string, projectId?: number): number;
    search(query: string): ErrorRecord[];
    incrementOccurrence(id: number): void;
    createChain(parentErrorId: number, childErrorId: number, relationship?: string): void;
    findChainChildren(errorId: number): ErrorRecord[];
    findChainParents(errorId: number): ErrorRecord[];
    findRecentByProject(projectId: number, since: string, limit?: number): ErrorRecord[];
    findAll(limit?: number, offset?: number): ErrorRecord[];
}
export {};
