mod kept_rate;
mod patch_metrics;
mod prediction_score;
mod reversal;
mod summary;
mod tokenize;
#[cfg(feature = "tree-sitter")]
mod tree_sitter;

pub use kept_rate::AnnotatedToken;
pub use kept_rate::KeptRateResult;
pub use kept_rate::TokenAnnotation;
pub use kept_rate::annotate_kept_rate_tokens;
pub use kept_rate::compute_kept_rate;
pub use patch_metrics::ClassificationMetrics;
pub use patch_metrics::Counts;
pub use patch_metrics::DeltaChrFMetrics;
pub use patch_metrics::TokenChangeCounts;
pub use patch_metrics::braces_disbalance;
pub use patch_metrics::count_patch_token_changes;
pub use patch_metrics::delta_chr_f;
pub use patch_metrics::delta_chr_f_beta;
pub use patch_metrics::exact_lines_match;
pub use patch_metrics::extract_changed_lines_from_diff;
pub use patch_metrics::has_isolated_whitespace_changes;
pub use patch_metrics::is_editable_region_correct;
pub use patch_metrics::reconstruct_texts_from_diff;
pub use prediction_score::{
    ActualPredictionCursor, PredictionReversalContext, PredictionScore, PredictionScoringInput,
    PrepareExpectedPatchError, PreparedExpectedPatch, prepare_expected_patches, score_prediction,
};
pub use reversal::compute_prediction_reversal_ratio_from_history;
pub use summary::{PredictionSummaryInput, QaSummaryData, SummaryJson, compute_summary};
#[cfg(feature = "tree-sitter")]
pub use tree_sitter::count_tree_sitter_errors;
