import type { SpanHandle, SpanAttributes, Tracer, OtelConfig } from '../../types/observability.js';
/**
 * OTel-backed tracer. Requires @opentelemetry/api to be installed at runtime.
 * If the package is missing, falls back to NoopTracer silently.
 */
export declare class OtelTracer implements Tracer {
    private readonly inner;
    private constructor();
    /**
     * Factory method — performs dynamic import of @opentelemetry/api.
     * Returns NoopTracer if the package is unavailable.
     */
    static create(config: OtelConfig): Promise<Tracer>;
    startSpan(name: string, attributes?: SpanAttributes): SpanHandle;
    startChildSpan(name: string, parent: SpanHandle | null, attributes?: SpanAttributes): SpanHandle;
    recordCounter(name: string, value?: number, attributes?: SpanAttributes): void;
    recordHistogram(name: string, value: number, attributes?: SpanAttributes): void;
}
//# sourceMappingURL=otel-tracer.d.ts.map