pub mod build;
mod canonical;
pub mod catalog;
pub mod changes;
pub mod format;
pub mod maintenance;
mod memory;
mod metadata;
mod metric;
mod options;
pub mod pages;
mod persistent;
mod pq;
mod query;
mod random;
mod scoring;
pub mod search;
mod vamana;
pub use canonical::{
DiskANNCanonicalCorpusVisitor, DiskANNCanonicalCounts, DiskANNCanonicalRead,
DiskANNPopulationState, DiskANNPopulationWitness, DiskANNQueryRead,
};
pub use memory::{DiskANNMemoryIndex, DiskANNMemoryOptions};
pub use metadata::DiskANNQueryMetadata;
pub use metric::{ExactVectorReason, NavigationInput, NavigationVector, SquaredNavigationDistance};
pub use options::DiskANNIndexOptions;
pub use persistent::{DiskANNIndexBinding, DiskANNPersistentOwner, PersistentDiskANNIndex};
pub use pq::{
PQCodebook, PQDistance, PQLookupTable, PQTrainer, PQTrainingOptions, PQTrainingSummary,
};
pub use query::{
DiskANNQuery, DiskANNQueryResult, DiskANNQueryWork, DiskANNReadChanges, DiskANNReadSnapshot,
RetainedDiskANNIndex,
};
pub use scoring::{DiskANNCanonicalScorer, DiskANNDocumentScore, DiskANNScoringStats};
pub use vamana::{VamanaGraph, VamanaPoint};
pub type DiskANNCanonicalVectorVisitor<'a> =
dyn FnMut(u32, format::DiskANNVectorVersion, &[f32]) -> crate::StorageBackendResult<()> + 'a;