/** * PackageGate Reporter — Phase 3C * * Generates a structured `PackageGateReport` from a `ScanResult` produced by * `PackageGateScanner`. The report aggregates: * - Lock file paths involved * - Total version conflicts (PKGATE-001 / 002 / 003) * - Total suspicious hook findings (PKGATE-010 / 011 / 012 / 013) * - Critical-severity findings * - Human-readable one-line summary */ import { Finding, ScanResult } from '../types'; export interface PackageGateReport { /** Scanned target directory path */ target: string; /** ISO 8601 timestamp when the report was generated */ scannedAt: string; /** Unique lock file paths that produced conflict findings */ lockFiles: string[]; /** Number of version-conflict findings (PKGATE-001/002/003) */ totalConflicts: number; /** Number of suspicious-hook findings (PKGATE-010/011/012/013) */ suspiciousHooks: number; /** All findings with severity === 'critical' */ criticalFindings: Finding[]; /** All findings from the scan (unfiltered) */ allFindings: Finding[]; /** Human-readable one-line summary */ summary: string; } /** * Build a `PackageGateReport` from a completed `ScanResult`. * * @param result The `ScanResult` returned by `PackageGateScanner.scan()` * @param target The directory path that was scanned (passed through to the report) * @returns Populated `PackageGateReport` */ export declare function generatePackageGateReport(result: ScanResult, target: string): PackageGateReport; //# sourceMappingURL=package-gate-reporter.d.ts.map