import { Tracer } from '@opentelemetry/api'; /** * Initialize the OpenTelemetry SDK and span processor. * * When `config.traceLocation` is provided, wires up the V4 Databricks Unity * Catalog span processor + exporter so that `updateCurrentTrace` tags persist * on UC-backed traces. Otherwise installs the V3 experiment-backed processor. * * TODO: Auto-resolve UC location from the linked Databricks experiment's * `mlflow.experiment.databricksTrace*` tags so customers don't have to pass * `traceLocation` explicitly. This needs `GetExperiment` to run, and Node * has no idiomatic way to do a synchronous HTTP request from `init()` * (the documented `worker_threads` + `Atomics.wait` pattern is for CPU-bound * work, not for converting async I/O into sync). The likely path is a * buffering processor that queues spans until the async fetch resolves; * until that lands, customers configure UC explicitly via `traceLocation`. */ export declare function initializeSDK(): void; export declare function getTracer(module_name: string): Tracer; /** * Force flush all pending trace exports. * * In WAL mode this only awaits on-disk durability of the WAL appends, * not the upstream HTTP upload — that's the daemon's job and the * caller (e.g. the Claude Code Stop hook) is intentionally decoupled * from backend latency. */ export declare function flushTraces(): Promise;