/**
 * OTLP trace export bootstrap.
 *
 * oh-my-pi's agent core (`@pk-nerdsaver-ai/pi-agent-core`) emits OpenTelemetry GenAI
 * spans through the global `@opentelemetry/api` tracer, but only when a
 * TracerProvider is registered in the process — otherwise the API returns a
 * no-op tracer and the spans are silently dropped. The shipped CLI never
 * registered one, so headless / embedded hosts (e.g. an ACP harness that
 * spawns `omp` as a child process) had no way to collect omp's internal traces.
 *
 * This module registers a NodeTracerProvider with an OTLP/proto exporter when
 * the standard `OTEL_EXPORTER_OTLP_ENDPOINT` (or `..._TRACES_ENDPOINT`) env var
 * is set, following the zero-code OTEL env contract: the exporter reads its
 * endpoint, headers, and timeout from `OTEL_EXPORTER_OTLP_*` itself. The
 * consuming process configures the destination entirely through env; omp stays
 * provider-agnostic and ships no vendor coupling. Only the `http/protobuf`
 * transport is supported — an `OTEL_EXPORTER_OTLP*_PROTOCOL` of `grpc` or
 * `http/json` declines rather than misrouting spans.
 *
 * The OTLP/proto exporter on the 2.x line is used deliberately: the 1.x line
 * deadlocks under Bun — its `req.on('close')` handler fires a spurious failure
 * after the success path. `exporter-trace-otlp-proto@0.218` paired with
 * `sdk-trace-base@2.7` exports cleanly on Bun.
 */
/**
 * Whether {@link initTelemetryExport} registered a real provider. The CLI uses
 * this to decide whether to switch on the agent loop's telemetry config — there
 * is no point emitting spans into a no-op tracer.
 */
export declare function isTelemetryExportEnabled(): boolean;
/**
 * Register the global TracerProvider + OTLP exporter when an OTLP endpoint is
 * configured via env. Idempotent, and a no-op when no endpoint is set (or when
 * the OTEL kill-switches are engaged), so it is safe to call unconditionally at
 * startup.
 */
export declare function initTelemetryExport(): Promise<void>;
/**
 * Flush any buffered spans to the exporter. No-op when export is disabled.
 * Hosts embedding the agent can call this at natural boundaries (e.g. the end
 * of a turn) so traces surface promptly rather than on the batch interval.
 */
export declare function flushTelemetryExport(): Promise<void>;
