import { DiagLogLevel } from '@opentelemetry/api'; export interface TelemetryConfig { enabled: boolean; serviceName: string; serviceVersion: string; environment?: string; tracing: { enabled: boolean; samplingRate: number; exporter: 'otlp' | 'jaeger' | 'zipkin' | 'console' | 'none'; endpoints: { otlp: string; jaeger: string; zipkin: string; }; }; metrics: { enabled: boolean; interval: number; exporter: 'otlp' | 'prometheus' | 'console' | 'none'; endpoints: { otlp: string; prometheusPort: number; }; }; propagation: { propagators: string[]; baggageMaxSize: number; }; resource: { detectionEnabled: boolean; attributes?: Record; }; sampling: { strategy: 'always_on' | 'always_off' | 'trace_id_ratio' | 'parent_based' | 'adaptive'; adaptiveTargetRate?: number; }; export: { timeout: number; maxQueueSize: number; maxBatchSize: number; batchDelay: number; }; instrumentations: { http: boolean; express: boolean; grpc: boolean; redis: boolean; ws: boolean; puppeteer: boolean; }; debug: { enabled: boolean; logLevel: DiagLogLevel; }; } export declare function getTelemetryConfig(): TelemetryConfig; export interface BatchSpanProcessorConfig { maxQueueSize?: number; maxExportBatchSize?: number; scheduledDelayMillis?: number; exportTimeoutMillis?: number; } export declare function getBatchSpanProcessorConfig(telemetryConfig: TelemetryConfig): BatchSpanProcessorConfig; export declare function getMetricReaderOptions(telemetryConfig: TelemetryConfig): any; export declare function validateTelemetryConfig(telemetryConfig: TelemetryConfig): void; //# sourceMappingURL=config.d.ts.map