/** * @since 1.0.0 */ import * as Reactivity from "@effect/experimental/Reactivity"; import * as Client from "@effect/sql/SqlClient"; import { SqlError } from "@effect/sql/SqlError"; import * as Statement from "@effect/sql/Statement"; import * as Config from "effect/Config"; import type { ConfigError } from "effect/ConfigError"; import * as Context from "effect/Context"; import * as Duration from "effect/Duration"; import * as Effect from "effect/Effect"; import * as Layer from "effect/Layer"; import * as Redacted from "effect/Redacted"; import type { Scope } from "effect/Scope"; import * as Mysql from "mysql2"; /** * @category type ids * @since 1.0.0 */ export declare const TypeId: unique symbol; /** * @category type ids * @since 1.0.0 */ export type TypeId = typeof TypeId; /** * @category models * @since 1.0.0 */ export interface MysqlClient extends Client.SqlClient { readonly [TypeId]: TypeId; readonly config: MysqlClientConfig; } /** * @category tags * @since 1.0.0 */ export declare const MysqlClient: Context.Tag; /** * @category models * @since 1.0.0 */ export interface MysqlClientConfig { /** * Connection URI. Setting this will override the other connection options */ readonly url?: Redacted.Redacted | undefined; readonly host?: string | undefined; readonly port?: number | undefined; readonly database?: string | undefined; readonly username?: string | undefined; readonly password?: Redacted.Redacted | undefined; readonly maxConnections?: number | undefined; readonly connectionTTL?: Duration.DurationInput | undefined; readonly poolConfig?: Mysql.PoolOptions | undefined; readonly spanAttributes?: Record | undefined; readonly transformResultNames?: ((str: string) => string) | undefined; readonly transformQueryNames?: ((str: string) => string) | undefined; } /** * @category constructors * @since 1.0.0 */ export declare const make: (options: MysqlClientConfig) => Effect.Effect; /** * @category layers * @since 1.0.0 */ export declare const layerConfig: (config: Config.Config.Wrap) => Layer.Layer; /** * @category layers * @since 1.0.0 */ export declare const layer: (config: MysqlClientConfig) => Layer.Layer; /** * @category compiler * @since 1.0.0 */ export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler; //# sourceMappingURL=MysqlClient.d.ts.map