/** * Removing the change journal from a store (journal spec §2.3a rules 4 and 10). * * {@link dropSyncMachinery} is the ONLY code allowed to drop `_sync_*` * tables; gate 36 forbids `DROP TABLE _sync_…` anywhere else. It drops every * capture trigger first, then the tables, in one transaction, so no state * with a trigger but without `_sync_capture` is ever committed. * * It never drops `cleo_trigger_suspend`: that table is schema-owned, and the * owned guard and side-effect triggers read it (C2). Nor does anything else; * gate 36 forbids dropping it. * * @task T12819 * @module store/sync/machinery */ import type { DatabaseSync } from 'node:sqlite'; /** What {@link dropSyncMachinery} removed. */ export interface DroppedSyncMachinery { readonly triggers: string[]; readonly tables: string[]; } /** * Drop every capture trigger, then every `_sync_*` table, in one * transaction (a savepoint when the caller holds one). */ export declare function dropSyncMachinery(db: DatabaseSync): DroppedSyncMachinery; //# sourceMappingURL=machinery.d.ts.map