import type Database from 'better-sqlite3'; export interface MigrationFile { version: string; name: string; checksum: string; body: string; } export interface MigrationRow { version: string; name: string; checksum: string; applied_at: number; } export interface MigrationSummary { applied: number; pending: number; alreadyApplied: number; stamped: string[]; } export interface ApplyOptions { logger?: (msg: string) => void; stampGenesis?: boolean; /** Default 'users'. Probe table that decides "is this a pre-existing prod DB needing genesis-stamping?". */ genesisProbeTable?: string; } export declare function listMigrations(migrationsDir: string): MigrationFile[]; export declare function readAppliedRows(db: Database.Database): MigrationRow[]; export declare function applyMigrations(db: Database.Database, migrationsDir: string, opts?: ApplyOptions): MigrationSummary; export declare function stampMigration(db: Database.Database, migrationsDir: string, version: string): MigrationFile;