import Database from 'better-sqlite3';
/**
 * Returns the singleton SQLite database instance.
 * Creates the database on first call and initializes it with proper settings.
 *
 * When multiple processes (e.g. Playwright workers) start concurrently, they
 * can all race into this function at the same time. SQLite's built-in busy
 * timeout is insufficient here because `PRAGMA journal_mode = WAL` requires
 * an exclusive file lock that is not retryable via the busy handler. We use
 * a cross-process file lock (`proper-lockfile`) to serialize initialization
 * so only one process creates/configures the database at a time.
 */
export declare function getDonobuSqliteDatabase(): Promise<Database.Database>;
/**
 * Closes the database connection. Should be called during application shutdown.
 */
export declare function closeDonobuSqliteDatabase(): void;
//# sourceMappingURL=DonobuSqliteDb.d.ts.map