driver.d.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import { type Config, type Connection } from '@tidbcloud/serverless';
  2. import { entityKind } from "../entity.js";
  3. import type { Logger } from "../logger.js";
  4. import { MySqlDatabase } from "../mysql-core/db.js";
  5. import { type DrizzleConfig } from "../utils.js";
  6. import type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from "./session.js";
  7. export interface TiDBServerlessSDriverOptions {
  8. logger?: Logger;
  9. cache?: Cache;
  10. }
  11. export declare class TiDBServerlessDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema> {
  12. static readonly [entityKind]: string;
  13. }
  14. export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends Connection = Connection>(...params: [
  15. TClient | string
  16. ] | [
  17. TClient | string,
  18. DrizzleConfig<TSchema>
  19. ] | [
  20. ({
  21. connection: string | Config;
  22. } | {
  23. client: TClient;
  24. }) & DrizzleConfig<TSchema>
  25. ]): TiDBServerlessDatabase<TSchema> & {
  26. $client: TClient;
  27. };
  28. export declare namespace drizzle {
  29. function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: DrizzleConfig<TSchema>): TiDBServerlessDatabase<TSchema> & {
  30. $client: '$client is not available on drizzle.mock()';
  31. };
  32. }