import type { SpanExporter, SpanProcessor } from '@opentelemetry/sdk-trace-base'; import type { NodeTracerConfig } from '@opentelemetry/sdk-trace-node'; 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; 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