import type { DatabaseSync } from 'node:sqlite'; type BackupFileSyncOperations = { open(path: string, flags: string): number; fsync(fd: number): void; close(fd: number): void; }; /** Windows requires write access on a file handle before FlushFileBuffers/fsync. */ export declare function flushBackupFile(backupPath: string, operations?: BackupFileSyncOperations): void; /** Offline migrations must reject processes that still hold the database open. */ export declare function assertDatabaseOffline(databasePath: string): void; /** Create and verify an offline SQLite backup before a cross-version cutover. */ export declare function backupDatabaseBeforeCutover(db: DatabaseSync, databasePath: string, label: string): string; /** The old release does not participate in an application lock, so check open handles. */ export declare function backupBeforeConversationCutover(db: DatabaseSync, databasePath: string): string; export {};