import { ExportResult } from '@opentelemetry/core'; import { OTLPExporterConfigBase } from '@opentelemetry/otlp-exporter-base'; type OTLPCloudflareExporterBaseConfig = Omit & { url?: string; endpoints?: { default?: string; traces?: string; logs?: string; }; compress?: boolean; }; /** * Cloudflare Collector Exporter abstract base class * Adapted from: https://raw.githubusercontent.com/open-telemetry/opentelemetry-js/main/experimental/packages/otlp-exporter-base/src/OTLPExporterBase.ts */ declare abstract class OTLPCloudflareExporterBase { private DEFAULT_HEADERS; readonly url: string; readonly timeoutMillis: number; protected _concurrencyLimit: number; protected _sendingPromises: Promise[]; protected headers: Record; protected enableCompression: boolean; static parseEnv(env: Record, exporterType: "LOGS" | "TRACES" | "METRICS"): { endpoints: { default: string; traces: string; logs: string; }; headers: Record; compress: boolean; }; /** * @param config */ constructor(config?: T); /** * Export items. * @param items * @param resultCallback */ export(items: ExportItem[], resultCallback: (result: ExportResult) => void): void; private _export; private compress; send(items: ExportItem[]): Promise; /** * Shutdown the exporter. */ shutdown(): Promise; abstract contentType: string; abstract convert(objects: ExportItem[]): ServiceRequest; abstract getUrl(config: OTLPCloudflareExporterBaseConfig): string; } export { OTLPCloudflareExporterBaseConfig as O, OTLPCloudflareExporterBase as a };