import * as express from "express"; import { InstrumentType, ResourceMetrics, MeterProvider, PushMetricExporter, AggregationTemporality } from '@opentelemetry/sdk-metrics-base'; import { HrTime, Span } from "@opentelemetry/api"; import opentelemetry = require('@opentelemetry/sdk-node'); import { ExportResult } from '@opentelemetry/core'; import { Meter, Histogram } from '@opentelemetry/api-metrics'; import { i_otel } from "../commoninterfaces.js"; import { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base"; export declare class MultiMetricExporter implements PushMetricExporter { private exporters; private isshutdown; constructor(exporters: PushMetricExporter[]); addExporter(exporter: PushMetricExporter): void; export(metrics: ResourceMetrics, callback: (result: ExportResult) => void): void; shutdown(): Promise; forceFlush(): Promise; selectAggregationTemporality(instrumentType: InstrumentType): AggregationTemporality; } export declare class MultiSpanExporter implements SpanExporter { private exporters; constructor(exporters: SpanExporter[]); addExporter(exporter: SpanExporter): void; export(spans: ReadableSpan[], callback: (result: ExportResult) => void): void; shutdown(): Promise; } export declare class otel implements i_otel { default_boundaries: number[]; static fakespan: { context: () => any; setAttribute: () => any; setAttributes: () => any; addEvent: () => any; setStatus: () => any; updateName: () => any; end: () => any; isRecording: () => any; recordException: () => any; }; static instance: otel; sdk: opentelemetry.NodeSDK; meterprovider: MeterProvider; meter: Meter; defaultlabels: any; private static nodejs_heap_size_used_bytes; private static nodejs_heap_size_total_bytes; private static nodejs_total_available_size; private static perfTimeout; private static traceExporter; private static metricExporter; static configure(): Promise; createheapdump(parent: Span): Promise; registerurl(metric_url: string, trace_url: string): void; shutdown(): Promise; GetTraceSpanId(span: Span): [string, string]; startSpanExpress(name: string, req: express.Request): Span; startSpan(name: string, traceId: string, spanId: string): Span; startSubSpan(name: string, parent: Span): Span; endSpan(span: Span): void; startTimer(): HrTime; endTimer(startTime: HrTime, recorder: Histogram, labels?: Object): number; setdefaultlabels(): void; static remoteip(req: express.Request): string; }