import type { Tracer, OtelConfig } from '../../types/observability.js';
/**
 * Returns the active global tracer.
 * Defaults to NoopTracer — zero overhead when not configured.
 */
export declare function getTracer(): Tracer;
/**
 * Initializes the global tracer from an OtelConfig.
 * If enabled=false or no endpoint, installs NoopTracer.
 * If enabled=true, attempts to build an OtelTracer (requires @opentelemetry/api).
 * Falls back to NoopTracer if the package is not installed.
 *
 * This function is async because OtelTracer performs a dynamic import.
 */
export declare function initTracer(config: OtelConfig): Promise<void>;
/**
 * Replaces the active tracer with the provided instance.
 * Primarily for testing — allows injecting a custom or spy tracer.
 */
export declare function setTracer(tracer: Tracer): void;
/**
 * Resets the global tracer to NoopTracer.
 * Call in test afterEach/teardown to avoid state leakage.
 */
export declare function resetTracer(): void;
//# sourceMappingURL=tracer.d.ts.map