/** * Findings Repository * * CRUD operations for security findings with status tracking. * * @module persistence/repositories/findings */ import type Database from "better-sqlite3"; import type { PersistedFinding, FindingStatus, ProjectStats } from "../types.js"; import type { Severity } from "../../certification/types.js"; export interface FindingFilter { projectId?: string; certificationId?: string; severity?: Severity | Severity[]; status?: FindingStatus | FindingStatus[]; category?: string | string[]; file?: string; scannerSource?: string; sinceDate?: string; untilDate?: string; limit?: number; offset?: number; } export declare class FindingsRepository { private db; constructor(db: Database.Database); create(finding: Omit): PersistedFinding; upsertFromScan(finding: Omit): { finding: PersistedFinding; isNew: boolean; }; findById(id: string): PersistedFinding | undefined; findBySignature(projectId: string, file: string, line: number, category: string, scannerSource: string): PersistedFinding | undefined; find(filter: FindingFilter): PersistedFinding[]; updateStatus(id: string, status: FindingStatus, fixedBy?: string): boolean; markFixed(ids: string[], fixedBy?: string): number; markFalsePositive(id: string, reason?: string): boolean; getStats(projectId: string): ProjectStats; private mapRow; } //# sourceMappingURL=findings.d.ts.map