pub mod bitmap;
pub mod filter;
pub mod range;

pub use bitmap::BitmapIndex;
pub use filter::{FilterEvaluator, FilterExpr, FilterResult};
pub use range::RangeIndex;

/// Error type for index operations.
#[derive(Debug, thiserror::Error)]
pub enum IndexError {
    /// A storage-level error (e.g., I/O failure during persistence).
    #[error("storage error: {0}")]
    Storage(String),
    /// Serialization or deserialization failure.
    #[error("serialization error: {0}")]
    Serialization(String),
}
