import type { Attributes, GenerationEvent, Span, SpanOptions, SpanResult, TelemetryConfig, TelemetryProvider, Trace, TraceOptions } from "../types.js"; /** * OpenTelemetry-backed telemetry provider. Exports traces via OTLP/HTTP * to any compatible backend (Langfuse, Grafana Tempo, Jaeger, etc.). * * Always instantiate via the async static factory {@link OtelTelemetryProvider.create} * so the OTLP exporter is wired before any spans are created. Active OTEL spans * are tracked in an internal map keyed by `spanId`; both `flush()` and `shutdown()` * swallow export errors so telemetry failures never crash the agent. * * @docLink packages/telemetry/concepts#otel-telemetry-provider */ export declare class OtelTelemetryProvider implements TelemetryProvider { private readonly tracer; private readonly tracerProvider; private readonly spanMap; /** * Use OtelTelemetryProvider.create(config) instead of new. * The static factory awaits exporter setup so no early spans are lost. */ private constructor(); /** Async factory — ensures the exporter is wired before any spans are created. */ static create(config: TelemetryConfig): Promise; startTrace(opts: TraceOptions): Trace; endTrace(traceObj: Trace, result?: SpanResult): void; startSpan(parent: Trace | Span, opts: SpanOptions): Span; endSpan(span: Span, result?: SpanResult): void; addEvent(span: Span, name: string, attrs?: Attributes): void; logGeneration(span: Span, generation: GenerationEvent): void; recordMetric(_name: string, _value: number, _tags?: Record): void; flush(): Promise; shutdown(): Promise; } //# sourceMappingURL=provider.d.ts.map