import type { SqlClient, PgFileSystemOptions, SetupOptions } from "../../core/types.js"; import { PgFileSystem as CorePgFileSystem } from "../../core/filesystem.js"; /** * Structural interface for any Drizzle PG database or transaction. * Matches PgDatabase / PgTransaction without importing their * higher-kinded type parameters. */ export interface DrizzleDb { execute(query: any): PromiseLike; transaction(transaction: (tx: DrizzleDb) => Promise, config?: { isolationLevel?: string; }): Promise; query?: unknown; } /** * Wraps a Drizzle PG database into the SqlClient interface. * * @example * ```ts * import { drizzle } from "drizzle-orm/postgres-js"; * import { createDrizzleClient } from "bash-gres/drizzle"; * * const db = drizzle(sql); * const client = createDrizzleClient(db); * ``` */ export declare function createDrizzleClient(db: DrizzleDb): SqlClient; /** * Drizzle-native setup: accepts a Drizzle `db` instance directly. * * @example * ```ts * import { drizzle } from "drizzle-orm/postgres-js"; * import { setup } from "bash-gres/drizzle"; * * const db = drizzle(sql); * await setup(db); * ``` */ export declare function setup(db: DrizzleDb, options?: SetupOptions): Promise; export type DrizzlePgFileSystemOptions = Omit & { db: DrizzleDb; }; /** * PgFileSystem that accepts a Drizzle `db` instance directly. * * @example * ```ts * import { drizzle } from "drizzle-orm/postgres-js"; * import { PgFileSystem } from "bash-gres/drizzle"; * * const db = drizzle(sql); * const fs = new PgFileSystem({ db, workspaceId: "ws-1" }); * ``` */ export declare class PgFileSystem extends CorePgFileSystem { constructor(options: DrizzlePgFileSystemOptions); } //# sourceMappingURL=adapter.d.ts.map