import type { Context, Span, SpanKind, TextMapPropagator, Tracer } from "./api-shim.js"; /** Configuration used by tracing. */ export interface TracingConfig { enabled: boolean; exporter: "jaeger" | "zipkin" | "otlp" | "console"; endpoint?: string; serviceName?: string; sampleRate?: number; debug?: boolean; } /** Options accepted by span. */ export interface SpanOptions { kind?: "internal" | "server" | "client" | "producer" | "consumer"; attributes?: Record; parent?: Span | Context; } export interface OpenTelemetryAPI { trace: { getTracer(name: string | undefined, version?: string): Tracer; setSpan(context: Context, span: Span): Context; }; propagation: { setGlobalPropagator(propagator: TextMapPropagator): void; extract(context: Context, carrier: Record): Context; inject(context: Context, carrier: Record): void; }; context: { active(): Context; with(context: Context, fn: () => T): T; }; SpanKind: typeof SpanKind; SpanStatusCode: { OK: number; ERROR: number; }; } export interface TracingState { initialized: boolean; degraded: boolean; tracer: Tracer | null; api: OpenTelemetryAPI | null; propagator: TextMapPropagator | null; } export type { Context, Span, SpanKind, TextMapPropagator, Tracer }; //# sourceMappingURL=types.d.ts.map