driver.d.cts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { type Connection as CallbackConnection, type Pool as CallbackPool, type PoolOptions } from 'mysql2';
  2. import type { Connection, Pool } from 'mysql2/promise';
  3. import type { Cache } from "../cache/core/cache.cjs";
  4. import { entityKind } from "../entity.cjs";
  5. import type { Logger } from "../logger.cjs";
  6. import { type RelationalSchemaConfig, type TablesRelationalConfig } from "../relations.cjs";
  7. import { SingleStoreDatabase } from "../singlestore-core/db.cjs";
  8. import { SingleStoreDialect } from "../singlestore-core/dialect.cjs";
  9. import { type DrizzleConfig } from "../utils.cjs";
  10. import type { SingleStoreDriverClient, SingleStoreDriverPreparedQueryHKT, SingleStoreDriverQueryResultHKT } from "./session.cjs";
  11. import { SingleStoreDriverSession } from "./session.cjs";
  12. export interface SingleStoreDriverOptions {
  13. logger?: Logger;
  14. cache?: Cache;
  15. }
  16. export declare class SingleStoreDriverDriver {
  17. private client;
  18. private dialect;
  19. private options;
  20. static readonly [entityKind]: string;
  21. constructor(client: SingleStoreDriverClient, dialect: SingleStoreDialect, options?: SingleStoreDriverOptions);
  22. createSession(schema: RelationalSchemaConfig<TablesRelationalConfig> | undefined): SingleStoreDriverSession<Record<string, unknown>, TablesRelationalConfig>;
  23. }
  24. export { SingleStoreDatabase } from "../singlestore-core/db.cjs";
  25. export declare class SingleStoreDriverDatabase<TSchema extends Record<string, unknown> = Record<string, never>> extends SingleStoreDatabase<SingleStoreDriverQueryResultHKT, SingleStoreDriverPreparedQueryHKT, TSchema> {
  26. static readonly [entityKind]: string;
  27. }
  28. export type SingleStoreDriverDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> = Omit<DrizzleConfig<TSchema>, 'schema'> & ({
  29. schema: TSchema;
  30. } | {
  31. schema?: undefined;
  32. });
  33. export type AnySingleStoreDriverConnection = Pool | Connection | CallbackPool | CallbackConnection;
  34. export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>, TClient extends AnySingleStoreDriverConnection = CallbackPool>(...params: [
  35. TClient | string
  36. ] | [
  37. TClient | string,
  38. SingleStoreDriverDrizzleConfig<TSchema>
  39. ] | [
  40. (SingleStoreDriverDrizzleConfig<TSchema> & ({
  41. connection: string | PoolOptions;
  42. } | {
  43. client: TClient;
  44. }))
  45. ]): SingleStoreDriverDatabase<TSchema> & {
  46. $client: AnySingleStoreDriverConnection extends TClient ? CallbackPool : TClient;
  47. };
  48. export declare namespace drizzle {
  49. function mock<TSchema extends Record<string, unknown> = Record<string, never>>(config?: SingleStoreDriverDrizzleConfig<TSchema>): SingleStoreDriverDatabase<TSchema> & {
  50. $client: '$client is not available on drizzle.mock()';
  51. };
  52. }