/** * @fileoverview Report generator service - generates security reports in multiple formats * @module @nahisaho/musubix-security/services/report-generator * @trace REQ-SEC-REP-001 */ import type { ScanResult, Fix, AuditResult, TaintResult, SecretScanResult, ReportConfig, ReportFormat } from '../types/index.js'; export type { ReportFormat }; /** * Combined scan results for report generation */ export interface CombinedResults { vulnerabilities: ScanResult; dependencies?: AuditResult; taint?: TaintResult; secrets?: SecretScanResult; fixes?: Fix[]; } /** * Report metadata */ export interface ReportMetadata { title: string; project?: string; scanTime: Date; duration: number; targetPath: string; } /** * Report generator class */ export declare class ReportGenerator { private config; constructor(config?: Partial); /** * Generate report in specified format */ generate(results: CombinedResults, metadata: ReportMetadata, format?: ReportFormat): Promise; /** * Generate and save report to file */ generateToFile(results: CombinedResults, metadata: ReportMetadata, outputPath: string, format?: ReportFormat): Promise; /** * Generate all configured formats */ generateAll(results: CombinedResults, metadata: ReportMetadata): Promise>; /** * Generate JSON report */ private generateJSON; /** * Generate SARIF report */ private generateSARIF; /** * Generate Markdown report */ private generateMarkdown; /** * Generate HTML report */ private generateHTML; /** * Generate summary statistics */ private generateSummary; /** * Format vulnerabilities based on config */ private formatVulnerabilities; /** * Group vulnerabilities by severity */ private groupBySeverity; /** * Convert severity to SARIF level */ private severityToSARIFLevel; /** * Escape HTML entities */ private escapeHtml; } /** * Create a report generator */ export declare function createReportGenerator(config?: Partial): ReportGenerator; //# sourceMappingURL=report-generator.d.ts.map