/**
 * OpenTelemetry Exporter
 * Exports spans to OTLP-compatible backends
 */
import type { ExporterHealthStatus, ExportResult, OtelExporterConfig, SpanData } from "../../types/index.js";
import { BaseExporter } from "./baseExporter.js";
/**
 * OpenTelemetry exporter for OTLP-compatible backends
 * Supports HTTP, gRPC, and Zipkin protocols
 */
export declare class OtelExporter extends BaseExporter {
    private readonly endpoint;
    private readonly protocol;
    private readonly serviceName;
    private readonly serviceVersion;
    private readonly resourceAttributes;
    private readonly compression;
    constructor(config: OtelExporterConfig);
    initialize(): Promise<void>;
    exportSpan(span: SpanData): Promise<ExportResult>;
    exportBatch(spans: SpanData[]): Promise<ExportResult>;
    flush(): Promise<void>;
    shutdown(): Promise<void>;
    healthCheck(): Promise<ExporterHealthStatus>;
    /**
     * Verify connectivity to OTLP endpoint
     */
    protected ping(): Promise<void>;
    /**
     * Get the export URL based on protocol
     */
    private getExportUrl;
    /**
     * Send request with optional gzip compression
     * @param endpoint - The URL to send to
     * @param body - The payload to send
     */
    private sendRequest;
}
