#[cfg(feature = "cluster")]
pub mod cluster;
#[cfg(feature = "community")]
pub mod community;
pub mod error;
pub mod hierarchy;
pub mod metrics;
pub mod reconciliation;
#[cfg(feature = "summarize")]
pub mod summarize;
#[cfg(any(feature = "rkhs", feature = "wass"))]
pub mod distribution_distance;
#[cfg(test)]
mod reconciliation_tests;
#[cfg(feature = "cluster")]
pub use crate::cluster::ItDendrogram;
pub use crate::hierarchy::{HierarchicalConformal, HierarchyTree, ReconciliationScore};
pub use crate::reconciliation::{reconcile, ReconciliationMethod, SummingMatrix};
pub use error::{Error, Result};
pub use metrics::{ari, completeness, fowlkes_mallows, homogeneity, nmi, purity, v_measure};
#[cfg(any(feature = "rkhs", feature = "wass"))]
pub use distribution_distance::{DistributionDistance, DistributionDistanceConfig};
#[cfg(feature = "cluster")]
pub use cluster::{Clustering, Gmm, HierarchicalClustering, Kmeans, Linkage, SoftClustering};
#[cfg(feature = "community")]
pub use community::{CommunityDetection, LabelPropagation, Leiden, Louvain};
#[cfg(feature = "knn-graph")]
pub use community::{
knn_graph_from_embeddings, knn_graph_with_config, KnnGraphConfig, WeightFunction,
};
#[cfg(feature = "summarize")]
pub use summarize::Summarizer;
pub use hierarchy::{Dendrogram, RaptorTree, TreeConfig};