import postgres from "postgres";
import { drizzle } from "drizzle-orm/postgres-js";
import * as schema from "./schema";
export type Database = ReturnType<typeof drizzle<typeof schema>>;
/** RDS / managed Postgres usually rejects "no encryption". Enable via
 * `?sslmode=require` on DATABASE_URL, or `DATABASE_SSL=true`. */
export declare function wantsDatabaseSsl(url?: string): boolean;
/**
 * Shared SSL options for `postgres` / `pg` / pg-boss.
 * rejectUnauthorized:false is common for RDS when the app does not ship the
 * AWS CA bundle; the connection is still encrypted.
 */
export declare function databaseSslOption(url?: string): {
    rejectUnauthorized: false;
} | undefined;
/**
 * Recent `pg` treats `sslmode=require` in the URL as verify-full and **replaces**
 * any `ssl: { rejectUnauthorized: false }` you pass alongside `connectionString`.
 * Strip SSL query params, then set ssl explicitly for node-postgres consumers
 * (pg-boss, `pg.Pool`, etc.).
 */
export declare function stripSslQueryParams(connectionString: string): string;
/** Config for pg-boss / node-postgres when DATABASE_URL may include sslmode=. */
export declare function nodePostgresConnection(connectionString: string): {
    connectionString: string;
    ssl?: {
        rejectUnauthorized: false;
    };
};
export declare function getSql(): postgres.Sql;
export declare function getDb(): Database;
//# sourceMappingURL=client.d.ts.map