import { dbD1, dbSqlite } from "@batijs/drizzle/database/drizzle/db";
import { dbKysely, dbKyselyD1 } from "@batijs/kysely/database/kysely/db";
import { db as sqliteDb } from "@batijs/sqlite/database/sqlite/db";
import { type UniversalMiddleware } from "@universal-middleware/core";
declare global {
    namespace Universal {
        interface Context {
            db: BATI.If<{
                'BATI.has("sqlite") && !BATI.hasD1': ReturnType<typeof sqliteDb>;
                'BATI.has("drizzle") && !BATI.hasD1': ReturnType<typeof dbSqlite>;
                'BATI.has("drizzle")': ReturnType<typeof dbD1>;
                'BATI.has("kysely") && !BATI.hasD1': ReturnType<typeof dbKysely>;
                'BATI.has("kysely")': ReturnType<typeof dbKyselyD1>;
                "BATI.hasD1": D1Database;
            }>;
        }
    }
}
/**
 * Add the `db` object to the context.
 */
export declare const dbMiddleware: UniversalMiddleware;
