use std::collections::{BTreeMap, BTreeSet};
use serde_json::Value;
use crate::loader::SourceTrace;
mod access;
mod explain;
mod lookup;
mod model;
mod output;
mod render;
mod state;
#[cfg(feature = "schema")]
pub use self::model::ExportBundleReport;
pub use self::model::{
AppliedMigration, AuditReport, ConfigWarning, DeprecatedField, DoctorReport, Explanation,
ReportSummary, ResolutionStep, TraceAudit,
};
pub const REPORT_FORMAT_VERSION: u32 = 2;
#[cfg(feature = "schema")]
pub const EXPORT_BUNDLE_FORMAT_VERSION: u32 = 1;
#[derive(Debug, Clone)]
pub struct ConfigReport {
final_value: Value,
secret_paths: BTreeSet<String>,
alias_overrides: BTreeMap<String, String>,
traces: BTreeMap<String, Vec<ResolutionStep>>,
applied_sources: Vec<SourceTrace>,
validations: Vec<String>,
warnings: Vec<ConfigWarning>,
migrations: Vec<AppliedMigration>,
}