import type { Span, SpanAttributes } from "@opentelemetry/api"; import { SpanKind } from "@opentelemetry/api"; export declare const KEY_SEP = ":"; export declare function keyOf(journey: string, instanceId: string, span?: string): string; declare class SpanRegistry { private readonly map; set(name: string, span: Span): void; get(name: string): Span | undefined; has(name: string): boolean; delete(name: string): void; replace(name: string, span: Span): void; keys(): string[]; } export declare const spanRegistry: SpanRegistry; export interface StartSpanOptions { kind?: SpanKind; attributes?: SpanAttributes; } declare class OTelTraceHelperImpl { private getOTEL; private getTracer; startSpan(name: string, options?: StartSpanOptions): Span | undefined; startChildSpan(name: string, parentName: string, options?: StartSpanOptions): Span | undefined; endSpan(name: string): void; setAttribute(spanName: string, key: string, value: string | number | boolean): void; setAttributes(spanName: string, attributes: SpanAttributes): void; addSpanEvent(spanName: string, eventName: string, attributes?: SpanAttributes): void; recordError(spanName: string, error: Error): void; setOk(spanName: string, message?: string): void; endInstanceSpans(prefix: string): void; getSpan(name: string): Span | undefined; hasSpan(name: string): boolean; } export declare const OTelTracer: OTelTraceHelperImpl; export {};