//
// Unified Query Algebra
//
// Copyright (c) 2023-2026 Cognica, Inc.
//
//! Common contract every index implementation honours.
//!
//! An [`Index`] supports
//! predicate-driven scans, scan cost estimation, build, and drop.
//! The storage-layer concrete types ([`crate::btree_index::BTreeIndex`],
//! the SQLite-backed inverted index, the IVF index, ...) all
//! implement this trait so the planner / [`crate::IndexManager`] can
//! pick one without monomorphising.
use ;
use crateIndexDef;
/// Predicate-aware index. Concrete implementations live in their own
/// modules; the planner reaches them through trait objects so it can
/// choose between candidate indexes by cost without compile-time
/// monomorphisation.