#![warn(missing_docs)]
pub mod compactor;
pub mod config;
pub mod error;
pub mod fdp_backend;
pub mod merkle;
pub mod metrics;
pub mod remote_store;
pub mod replication;
pub mod snapshot;
pub mod storage_backend;
pub mod text;
pub mod types;
pub mod engine;
pub mod manifest;
pub mod memtable;
pub mod recovery;
pub mod segment;
pub mod transaction;
pub mod wal;
pub mod vector;
pub use compactor::{CompactionStats, Compactor};
pub use config::EdgestoreConfig;
pub use engine::{Engine, ImportResult};
pub use error::EdgestoreError;
pub use merkle::RangeMerkleTree;
pub use metrics::MetricsSnapshot;
pub use remote_store::RemoteStore;
pub use replication::{HostId, ReplicationProtocol, SegmentRef};
pub use snapshot::{Snapshot, SnapshotRegistry};
pub use fdp_backend::{FdpStorageBackend, MockFdpBackend};
pub use storage_backend::{DefaultStorageBackend, MemoryStorageBackend, PlacementHint, StorageBackend};
pub use transaction::Transaction;
pub use text::engine::{text_namespace, SearchOptions, TextEngine, TextSearchResult};
pub use text::facet::{filter_by_facets, FacetFilter};
pub use text::index::{bm25_score, score_document, InvertedIndex, Posting};
pub use text::tokenizer::{tokenize, Token};
pub use text::typo::{is_one_edit_away, levenshtein};
pub use text::types::{decode_text_record, FacetValue};
pub use vector::api::{vector_namespace, VectorEngine};
pub use vector::distance::{distance, distance_scalar, Metric, total_cmp_f32};
pub use vector::hnsw::HnswIndex;
pub use vector::search::{vector_search, VectorSearchResult};
pub use vector::types::{Dtype, VectorRecord};