import * as opentelemetry from "@opentelemetry/api"; export type TCarrier = { traceparent?: string; tracestate?: string; }; export type SpanCtx = { name: string; spanKind?: opentelemetry.SpanKind; rootSpan?: boolean; traceScope?: string; traceContext?: TCarrier; }; type AsyncCallbackFn = (span: opentelemetry.Span) => Promise; export declare function instrumentAsync(ctx: SpanCtx, callback: AsyncCallbackFn): Promise; type SyncCallbackFn = (span: opentelemetry.Span) => T; export declare function instrumentSync(ctx: SpanCtx, callback: SyncCallbackFn): T; export declare const getCurrentSpan: () => opentelemetry.Span | undefined; export declare const traceException: (ex: unknown, span?: opentelemetry.Span, code?: string) => void; export declare const addUserToSpan: (attributes: { userId?: string; projectId?: string; email?: string; orgId?: string; plan?: string; }, span?: opentelemetry.Span) => opentelemetry.Context | undefined; export declare const getTracer: (name: string) => opentelemetry.Tracer; export declare const recordGauge: (stat: string, value?: number | undefined, tags?: { [tag: string]: string | number; } | undefined) => void; export declare const recordIncrement: (stat: string, value?: number | undefined, tags?: { [tag: string]: string | number; } | undefined) => void; export declare const recordHistogram: (stat: string, value?: number | undefined, tags?: { [tag: string]: string | number; } | undefined) => void; export declare const recordDistribution: (stat: string, value?: number | undefined, tags?: { [tag: string]: string | number; } | undefined) => void; /** * Converts a queue name to the matching datadog metric name. * Consumer only needs to append the relevant suffix. * * Example: `legacy-ingestion-queue` -> `langfuse.queue.legacy_ingestion` */ export declare const convertQueueNameToMetricName: (queueName: string) => string; export {}; //# sourceMappingURL=index.d.ts.map