import { SarifData, Violation } from '../types/sarif.js'; /** * Transform SARIF data into different views and formats */ export declare class SarifDataTransformer { private data; constructor(data: SarifData); /** * Get violations grouped by rule ID */ getViolationsByRule(): Map; /** * Get violations grouped by severity level */ getViolationsByLevel(): Map; /** * Get files sorted by violation count (descending) */ getFilesByViolationCount(): Array<{ file: string; count: number; violations: Violation[]; }>; /** * Get rules sorted by violation count (descending) */ getRulesByViolationCount(): Array<{ ruleId: string; count: number; violations: Violation[]; }>; /** * Get summary statistics with additional insights */ getDetailedStatistics(): { totalRules: number; filesWithMostViolations: { file: string; count: number; violations: Violation[]; }[]; rulesWithMostViolations: { ruleId: string; count: number; violations: Violation[]; }[]; levelBreakdown: { [k: string]: Violation[]; }; ruleBreakdown: { [k: string]: Violation[]; }; errorCount: number; warningCount: number; infoCount: number; noteCount: number; noneCount: number; averageViolationsPerFile: number; mostCommonRules: [string, number][]; totalFiles: number; totalViolations: number; }; /** * Filter data by various criteria */ filterData(filters: { levels?: string[]; rules?: string[]; files?: string[]; minLine?: number; maxLine?: number; }): SarifData; /** * Get violations in a specific line range */ getViolationsInRange(startLine: number, endLine: number): Violation[]; /** * Get violations for a specific file */ getFileViolations(fileUri: string): Violation[]; /** * Get violations for a specific rule */ getRuleViolations(ruleId: string): Violation[]; /** * Calculate statistics for given violations */ private calculateStatistics; } //# sourceMappingURL=data-transformer.d.ts.map