import { MeterProvider, PeriodicExportingMetricReader, ConsoleMetricExporter } from '@opentelemetry/sdk-metrics'; import { metrics } from '@opentelemetry/api'; import { SetupMetricsOptions } from '../types'; export default class Metrics { static meterProvider: MeterProvider; static meter: ReturnType; static metricReaders: PeriodicExportingMetricReader[]; static genaiClientUsageTokens: ReturnType['createHistogram']>; static genaiClientOperationDuration: ReturnType['createHistogram']>; static genaiServerTbt: ReturnType['createHistogram']>; static genaiServerTtft: ReturnType['createHistogram']>; static genaiClientTimeToFirstChunk: ReturnType['createHistogram']>; static genaiClientTimePerOutputChunk: ReturnType['createHistogram']>; static genaiServerRequestDuration: ReturnType['createHistogram']>; static dbClientOperationDuration: ReturnType['createHistogram']>; static genaiRequests: ReturnType['createCounter']>; static genaiPromptTokens: ReturnType['createCounter']>; static genaiCompletionTokens: ReturnType['createCounter']>; static genaiReasoningTokens: ReturnType['createCounter']>; static genaiCost: ReturnType['createHistogram']>; static dbRequests: ReturnType['createCounter']>; static initializeMetrics(): void; static handleExporterFallback(err: Error, allowConsoleExporterFallback: boolean): ConsoleMetricExporter; static setup(options: SetupMetricsOptions): import("@opentelemetry/api").Meter | null; }