import { PostgresClient } from "./session.cjs";
import { PostgresDatabase } from "./driver-core.cjs";
import { AnyRelations, EmptyRelations } from "../relations.cjs";
import { DrizzlePgConfig } from "../pg-core/utils.cjs";
import { Pool, PoolConfig } from "@drizzle-team/minipg/deno";

//#region src/postgres/deno.d.ts
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PostgresClient = Pool>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [DrizzlePgConfig<TRelations> & ({
  client: TClient;
} | {
  connection: string | PoolConfig;
})]): PostgresDatabase<TRelations> & {
  $client: PostgresClient extends TClient ? Pool : TClient;
};
declare namespace drizzle {
  function mock<TRelations extends AnyRelations = EmptyRelations>(config?: DrizzlePgConfig<TRelations>): PostgresDatabase<TRelations> & {
    $client: '$client is not available on drizzle.mock()';
  };
}
//#endregion
export { drizzle };
//# sourceMappingURL=deno.d.cts.map