import type { Context } from '@opentelemetry/api'; import type { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-proto'; import { BatchSpanProcessor, type Span } from '@opentelemetry/sdk-trace-base'; import type { MutableAsyncLocalStorageContextManager } from './context/MutableAsyncLocalStorageContextManager'; export default class MXLSpanProcessor extends BatchSpanProcessor { private readonly enableMXLGlobalContext; private readonly contextManager; constructor({ exporter, enableMXLGlobalContext, contextManager, }: { exporter: OTLPTraceExporter; enableMXLGlobalContext: boolean; contextManager?: MutableAsyncLocalStorageContextManager; }); onStart(span: Span, parentContext: Context): void; onEnd(span: Span): void; private _setTraceAttributes; }