import { TextMapPropagator } from '@opentelemetry/api'; import { ContextManager } from '@opentelemetry/api'; import { MeterConfig } from '@opentelemetry/metrics'; import { NodeTracerConfig } from '@opentelemetry/node'; import { Resource, ResourceDetectionConfig } from '@opentelemetry/resources'; import { SpanProcessor } from '@opentelemetry/tracing'; import { NodeSDKConfiguration } from './types'; /** This class represents everything needed to register a fully configured OpenTelemetry Node.js SDK */ export declare class NodeSDK { private _tracerProviderConfig?; private _instrumentations; private _meterProviderConfig?; private _resource; private _autoDetectResources; private _tracerProvider?; private _meterProvider?; /** * Create a new NodeJS SDK instance */ constructor(configuration?: Partial); /** Set configurations required to register a NodeTracerProvider */ configureTracerProvider(tracerConfig: NodeTracerConfig, spanProcessor: SpanProcessor, contextManager?: ContextManager, textMapPropagator?: TextMapPropagator): void; /** Set configurations needed to register a MeterProvider */ configureMeterProvider(config: MeterConfig): void; /** Detect resource attributes */ detectResources(config?: ResourceDetectionConfig): Promise; /** Manually add a resource */ addResource(resource: Resource): void; /** * Once the SDK has been configured, call this method to construct SDK components and register them with the OpenTelemetry API. */ start(): Promise; shutdown(): Promise; }