import { C as TracerQueryFinishEvent, S as TracerQueryErrorEvent, b as TracerHooks, t as CreateTracerOptions, v as Tracer, x as TracerQueryEndEvent, y as TracerErrorEvent } from "./types-D_rumhHT.mjs"; import { Knex } from "knex"; //#region src/tracer.d.ts /** * Attach low-level query tracing hooks to a Knex instance. * * The tracer exposes query lifecycle events with duration, SQL, bindings, and * errors. Knex transaction control statements are excluded because they do not * emit complete query lifecycles. * * Hook errors are caught and passed to `onTracerError`, which is a no-op by * default. * * @example * ```ts * import { createTracer } from 'knex-tiny-logger/tracer' * * const spans = new Map() * * const tracer = createTracer(knex, { * onStart(event) { * spans.set(event.queryId, tracerProvider.startSpan('sql', { * sql: event.sql, * bindings: event.bindings, * })) * }, * onEnd(event) { * spans.get(event.queryId)?.end({ durationMs: event.durationMs }) * spans.delete(event.queryId) * }, * onError(event) { * spans.get(event.queryId)?.fail(event.error) * spans.delete(event.queryId) * }, * }) * * tracer.dispose() * ``` */ declare function createTracer(knex: Knex, options?: CreateTracerOptions): Tracer; //#endregion export { type CreateTracerOptions, type Tracer, type TracerErrorEvent, type TracerHooks, type TracerQueryEndEvent, type TracerQueryErrorEvent, type TracerQueryFinishEvent, createTracer };