#[cfg(feature = "full")]
pub mod accumulator;
#[cfg(feature = "full")]
pub mod build;
#[cfg(feature = "full")]
pub mod compare_view;
pub mod decode;
pub mod dump;
pub mod encode;
#[cfg(feature = "full")]
pub mod export;
pub mod hash;
#[cfg(feature = "full")]
pub(crate) mod manifest_location;
pub mod model;
pub mod state_digest;
#[cfg(feature = "full")]
pub mod verify;

#[cfg(feature = "full")]
pub use accumulator::{CcrAccumulator, CcrManifestContribution};
#[cfg(feature = "full")]
pub use build::{
    CcrBuildError, ManifestStateBuildBreakdown, build_aspa_payload_state,
    build_manifest_state_from_vcirs, build_manifest_state_from_vcirs_with_breakdown,
    build_roa_payload_state, build_router_key_state_from_runtime, build_trust_anchor_state,
};
#[cfg(feature = "full")]
pub use compare_view::{
    VapCompareRow, VrpCompareRow, build_vap_compare_rows, build_vrp_compare_rows,
    canonical_vrp_prefix, decode_ccr_compare_views, write_vap_csv, write_vrp_csv,
};
pub use decode::{CcrDecodeError, decode_content_info};
pub use dump::{CcrDumpError, dump_content_info_json, dump_content_info_json_value};
pub use encode::{CcrEncodeError, encode_content_info};
#[cfg(feature = "full")]
pub use export::{
    CcrBuildBreakdown, CcrExportError, build_ccr_from_run, build_ccr_from_run_with_breakdown,
    write_ccr_file,
};
pub use hash::{compute_state_hash, verify_state_hash};
pub use model::{
    AspaPayloadSet, AspaPayloadState, CcrContentInfo, CcrDigestAlgorithm, ManifestInstance,
    ManifestState, RoaPayloadSet, RoaPayloadState, RouterKey, RouterKeySet, RouterKeyState,
    RpkiCanonicalCacheRepresentation, TrustAnchorState,
};
pub use state_digest::{
    CcrStateDigestComparison, CcrStateDigestError, CcrStateDigestStateComparison,
    CcrStateDigestSummary, compare_state_digests, decode_state_digest_summary,
};
#[cfg(feature = "full")]
pub use verify::{
    CcrVerifyError, CcrVerifySummary, extract_vrp_rows, verify_against_report_json_path,
    verify_against_vcir_store, verify_against_vcir_store_path, verify_content_info,
    verify_content_info_bytes,
};
