pub mod csv;
mod html;
pub mod json;
pub(crate) mod junit;
mod markdown;
pub mod ndjson;
mod pdf;
mod sarif;
mod terminal;
pub use csv::CsvOutput;
pub use html::HtmlReport;
pub use json::JsonOutput;
pub(crate) use junit::render_findings as render_junit_findings;
pub use junit::JunitReport;
pub use markdown::MarkdownReport;
pub use ndjson::NdjsonOutput;
pub use pdf::PdfReport;
pub use sarif::SarifOutput;
pub use terminal::TerminalOutput;
use crate::actions::plan::ActionPlan;
use crate::error::RepoLensError;
use crate::rules::results::AuditResults;
pub trait OutputRenderer {
fn render_plan(
&self,
results: &AuditResults,
plan: &ActionPlan,
) -> Result<String, RepoLensError>;
}
pub trait ReportRenderer {
fn render_report(&self, results: &AuditResults) -> Result<String, RepoLensError>;
}