/** * Index Manager * * Manages creation, maintenance, and query optimization using indexes. */ import type { IndexConfig, IndexQuery, IndexStats, QueryPlan } from './index-types.js'; export declare class IndexManager { private indexes; private config; private indexStats; /** Construct an empty index from its configuration. */ private buildIndex; /** * Discard every indexed entry while keeping the index definitions. * * A caller that derives its indexes from a snapshot of the data needs to * rebuild them when that snapshot is replaced. Without this, entries for * records that are no longer present would linger and a query could return * ids the caller can no longer resolve. */ resetEntries(): void; createIndex(config: IndexConfig): void; updateRecord(recordId: string, oldValue: Record | null, newValue: Record): void; queryIndex(name: string, query: IndexQuery): string[]; listIndexes(): IndexConfig[]; getStats(name: string): IndexStats | null; planQuery(fields: string[]): QueryPlan; } //# sourceMappingURL=index-manager.d.ts.map