/** * Policy Violation Reporting * * Formats and outputs policy violations for human reading and CI/CD integration. */ import { Violation } from "./violations.js"; import type { Policy } from "../../shared/types/policy.js"; /** * Report format options */ export type ReportFormat = "text" | "json" | "markdown"; /** * Report result with exit code */ export interface ReportResult { /** Exit code: 0=clean, 1=violations */ exitCode: 0 | 1; /** Formatted report content */ content: string; } /** * Generate a policy violation report * * @param violations - Array of detected violations * @param options - Report options (policy, format, strict) * @returns Report result with formatted content and exit code */ export declare function generateReport(violations: Violation[], options?: { policy?: Policy; format?: ReportFormat; strict?: boolean; }): ReportResult; /** * Print a report to console * * @param violations - List of violations * @param policy - Policy for context * @param format - Output format */ export declare function printReport(violations: Violation[], policy: Policy, format?: ReportFormat): void; /** * Get exit code for violations * * @param violations - List of violations * @returns Exit code: 0=clean, 1=violations */ export declare function getExitCode(violations: Violation[]): 0 | 1;