import { PostgresAuroraClient, PostgresAuroraQueryResultHKT } from "./session.cjs";
import { entityKind } from "../../entity.cjs";
import { AnyRelations, EmptyRelations } from "../../relations.cjs";
import { PgDialect } from "../../pg-core/dialect.cjs";
import { PgAsyncDatabase } from "../../pg-core/async/db.cjs";
import { DrizzlePgConfig } from "../../pg-core/utils.cjs";
import { AuroraClient, AuroraConfig } from "@drizzle-team/minipg/aurora";

//#region src/postgres/aurora/driver.d.ts
declare class PostgresAuroraDialect extends PgDialect {
  static readonly [entityKind]: string;
  escapeParam(num: number): string;
}
declare class PostgresAuroraDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PostgresAuroraQueryResultHKT, TRelations> {
  static readonly [entityKind]: string;
}
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PostgresAuroraClient = AuroraClient>(...params: [DrizzlePgConfig<TRelations> & ({
  client: TClient;
} | {
  connection: AuroraConfig;
})]): PostgresAuroraDatabase<TRelations> & {
  $client: PostgresAuroraClient extends TClient ? AuroraClient : TClient;
};
declare namespace drizzle {
  function mock<TRelations extends AnyRelations = EmptyRelations>(config?: DrizzlePgConfig<TRelations>): PostgresAuroraDatabase<TRelations> & {
    $client: '$client is not available on drizzle.mock()';
  };
}
//#endregion
export { PostgresAuroraDatabase, PostgresAuroraDialect, drizzle };
//# sourceMappingURL=driver.d.cts.map