import type { LTTelemetryAdapter } from '../../types/telemetry'; /** * Singleton registry for the telemetry adapter. * * Unlike the event registry (which fans out to multiple adapters), * telemetry uses a single adapter because OTEL only supports one * global TracerProvider at a time. * * The adapter must be registered and connected BEFORE HotMesh * workers start so that spans are captured from the first workflow. */ declare class LTTelemetryRegistry { private adapter; private connected; /** * Register a telemetry adapter. Call before connect(). * Replaces any previously registered adapter. */ register(adapter: LTTelemetryAdapter): void; /** * Connect the registered adapter (initializes OTEL SDK). * Must be called before HotMesh workers start. */ connect(): Promise; /** * Disconnect the adapter (flush + shutdown OTEL SDK). * Call during graceful shutdown. */ disconnect(): Promise; /** * Remove the adapter and reset state. Used in tests. */ clear(): void; /** * Check if an adapter is registered. */ get hasAdapter(): boolean; /** * Trace URL template from the registered adapter (if any). * Contains `{traceId}` placeholder for substitution. */ get traceUrl(): string | undefined; } /** Singleton telemetry registry */ export declare const telemetryRegistry: LTTelemetryRegistry; export {};