import { BunMySqlQueryResultHKT } from "./session.cjs";
import { entityKind } from "../../entity.cjs";
import { AnyRelations, EmptyRelations } from "../../relations.cjs";
import { SQL } from "bun";
import { DrizzleMySqlConfig } from "../../mysql-core/utils.cjs";
import { MySqlAsyncDatabase } from "../../mysql-core/async/db.cjs";

//#region src/bun-sql/mysql/driver.d.ts
declare class BunMySqlDatabase<TRelations extends AnyRelations = EmptyRelations> extends MySqlAsyncDatabase<BunMySqlQueryResultHKT, TRelations> {
  static readonly [entityKind]: string;
}
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends SQL = SQL>(...params: [string] | [string, DrizzleMySqlConfig<TRelations>] | [(DrizzleMySqlConfig<TRelations> & ({
  connection: string | ({
    url?: string;
  } & SQL.Options);
} | {
  client: TClient;
}))]): BunMySqlDatabase<TRelations> & {
  $client: TClient;
};
declare namespace drizzle {
  function mock<TRelations extends AnyRelations = EmptyRelations>(config?: DrizzleMySqlConfig<TRelations>): BunMySqlDatabase<TRelations> & {
    $client: '$client is not available on drizzle.mock()';
  };
}
//#endregion
export { BunMySqlDatabase, drizzle };
//# sourceMappingURL=driver.d.cts.map