import type { SpanExporter, SpanProcessor, TracerProviderOptions } from '@opentelemetry/sdk-trace'; import type { Span, TextMapPropagator } from '@opentelemetry/api'; import type { Instrumentation } from '@opentelemetry/instrumentation'; import type { ResourceFactory } from '../types'; export type SpanExporterFactory = (options: TracingOptions) => SpanExporter | SpanExporter[]; export type SpanProcessorFactory = (options: TracingOptions) => SpanProcessor | SpanProcessor[]; export type PropagatorFactory = (options: TracingOptions) => TextMapPropagator; export type CaptureHttpUriParameters = (span: Span, params: Record) => void; /** Keeps the existing tracerConfig option shape while using sdk-trace. */ export interface NodeTracerConfig extends TracerProviderOptions { generalLimits?: { attributeValueLengthLimit?: number; attributeCountLimit?: number; }; } export interface TracingOptions { accessToken: string; realm?: string; endpoint?: string; serviceName: string; captureHttpRequestUriParams: string[] | CaptureHttpUriParameters; instrumentations: (Instrumentation | Instrumentation[])[]; propagatorFactory: PropagatorFactory; serverTimingEnabled: boolean; spanExporterFactory: SpanExporterFactory; spanProcessorFactory: SpanProcessorFactory; tracerConfig: NodeTracerConfig; databaseTraceContextPropagationEnabled: boolean; } export type StartTracingOptions = Partial & { resourceFactory?: ResourceFactory; }; //# sourceMappingURL=types.d.ts.map