import type { ObservationRecord, TraceRecord } from '@cicctencent/agent-core'; export interface ExporterConfig { enabled: boolean; endpoint: string; publicKey?: string; secretKey?: string; headers?: Record; exportIntervalMs?: number; maxBatchSize?: number; } export interface ObservabilityExporter { name: string; config: ExporterConfig; enqueueTrace(trace: TraceRecord): void; enqueueObservation(observation: ObservationRecord): void; flush(): Promise; start(): void; stop(): void; } export declare class OtlpExporter implements ObservabilityExporter { readonly name = "otlp"; config: ExporterConfig; private timer?; private pending; private traceObservationMap; private readonly maxQueueSize; constructor(config: ExporterConfig); enqueueTrace(trace: TraceRecord): void; enqueueObservation(observation: ObservationRecord): void; start(): void; stop(): void; flush(): Promise; private sendOtlp; private traceToOtlpSpan; private observationToOtlpSpan; private toOtlpAttributes; private deriveSpanId; private httpPost; } export declare class ObservabilityExporterManager { private exporters; addExporter(exporter: ObservabilityExporter): void; removeExporter(name: string): void; getExporters(): ObservabilityExporter[]; getExporter(name: string): ObservabilityExporter | undefined; enqueueTrace(trace: TraceRecord): void; enqueueObservation(observation: ObservationRecord): void; flushAll(): Promise; stopAll(): void; } //# sourceMappingURL=observability-exporter.d.ts.map