import type { Database as DatabaseType } from "better-sqlite3"; /** * Bring both indexes to their canonical shape, then reseed whichever one moved. * * Each object is checked by its STORED DDL, not by its name. A name-only check * accepts an `work_items_fts` that is an ordinary table (every later query then * fails with `no such column`) and accepts a missing or edited trigger (every * write made while it was gone stays unindexed, silently and permanently). Both * are corrected here rather than refused at boot, because unlike the ledger * tables this index carries no data of its own: it is derived from * `work_items` / `work_item_comments`, so the honest response to drift is to * rebuild it from the content that is still intact. * * `rebuild` is FTS5 reseeding itself from that content, so it is idempotent: a * migration that finds every shape already canonical rebuilds nothing and * leaves index content byte-identical, which keeps boot off a full reindex. */ export declare function migrateWorkItemSearchIndex(db: DatabaseType): void; //# sourceMappingURL=search-index.d.ts.map