import type { Database } from "../../shared/sqlite";
/**
 * Run all pending migrations sequentially.
 * Each migration runs in its own transaction — if it fails, only that migration rolls back.
 * Already-applied migrations are skipped.
 *
 * Multi-instance race tolerance: when two plugin processes start against
 * the same shared DB, both can read the same MAX(version) before either
 * commits. The first wins; the second's INSERT into schema_migrations
 * fails with a PRIMARY KEY conflict. We catch that specific case and
 * resume from the next pending migration. All other migration errors
 * still fail-close per the existing contract.
 */
export declare function runMigrations(db: Database): void;
//# sourceMappingURL=migrations.d.ts.map