pub mod error;
pub mod meta;
pub mod state;
mod distance;
mod dump;
mod index;
mod merge;
mod numa;
mod rebuild;
mod reindex;
mod sankoff;
mod select;
mod siblings;
mod stats;

pub use error::{OKIError, OKIResult};
pub use distance::{DistanceMetric, DistanceOutput};
pub use index::KmerIndex;
pub use merge::MergeMode;
pub use meta::{validate_label, GenomeInfo, IndexConfig, IndexMeta, META_FILENAME};
pub use state::{IndexState, SENTINEL_COUNTED, SENTINEL_INDEXED, SENTINEL_SCATTERED};
pub use stats::IndexBitsPerKmer;
pub use siblings::{BasePairTally, RawSnpDistanceOutput, SiblingAnnexStats, SnpAlignment};
pub use sankoff::{
    build_cost_matrix, c_ctx_from_p_hat, calibrate_p_hat, mean_substitution_cost,
    substitution_costs_from_tally, PHatEstimate, SankoffWeights,
};
