import { Database } from 'bun:sqlite'; import { entityKind } from "../entity.js"; import { BaseSQLiteDatabase } from "../sqlite-core/db.js"; import { type DrizzleConfig } from "../utils.js"; export declare class BunSQLiteDatabase = Record> extends BaseSQLiteDatabase<'sync', void, TSchema> { static readonly [entityKind]: string; } type DrizzleBunSqliteDatabaseOptions = { /** * Open the database as read-only (no write operations, no create). * * Equivalent to {@link constants.SQLITE_OPEN_READONLY} */ readonly?: boolean; /** * Allow creating a new database * * Equivalent to {@link constants.SQLITE_OPEN_CREATE} */ create?: boolean; /** * Open the database as read-write * * Equivalent to {@link constants.SQLITE_OPEN_READWRITE} */ readwrite?: boolean; }; export type DrizzleBunSqliteDatabaseConfig = ({ source?: string; } & DrizzleBunSqliteDatabaseOptions) | string | undefined; export declare function drizzle = Record, TClient extends Database = Database>(...params: [] | [ TClient | string ] | [ TClient | string, DrizzleConfig ] | [ (DrizzleConfig & ({ connection?: DrizzleBunSqliteDatabaseConfig; } | { client: TClient; })) ]): BunSQLiteDatabase & { $client: TClient; }; export declare namespace drizzle { function mock = Record>(config?: DrizzleConfig): BunSQLiteDatabase & { $client: '$client is not available on drizzle.mock()'; }; } export {};