import { Table } from '../vendor/table.js'; /** * Storage-adapter primitives. * * The indexing engine (Monitor, Ingestor, Index) operates against these — * never against Redis or any specific vendor. Back them with Redis hashes + * sorted sets, Postgres tables, SQLite, in-memory (reference impls ship in * `adapters/memory.ts`). */ /** * A partition map: key/value store addressed by a multi-part column key. * In the original source this was `Generics.Awaited.PartitionMap`. */ export interface PartitionMap { set(key: Table.Columns.Default, value: V): Promise; get(key: Table.Columns.Default): Promise; getAll(keys: Table.Columns.Default[]): Promise>; has(key: Table.Columns.Default): Promise; delete(key: Table.Columns.Default): Promise; } /** * A sorted set of values keyed by column key, with range-query support. * Critical for TimelineKey range queries — "all snapshots of source:main.js * where seq > 1000" becomes a single range read. In the original source this * was `Generics.Awaited.SortedSet`. */ export interface SortedSet { add(key: Table.Columns.Default, value: V): Promise; remove(key: Table.Columns.Default, value: V): Promise; findMax(key: Table.Columns.Default): Promise; /** * Stream values in range, batched. `bounds` carries start/end (numeric score * thresholds) and `options.batchSize` controls pagination chunk size. * Yields arrays of length ≤ batchSize. */ read(key: Table.Columns.Default, bounds: { start?: number; end?: number; }, options?: { batchSize?: number; }): AsyncGenerator; } //# sourceMappingURL=types.d.ts.map