import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
import { CompositePropagator } from "@opentelemetry/core";
import * as _opentelemetry_resources0 from "@opentelemetry/resources";
import { NodeSDK, NodeSDKConfiguration } from "@opentelemetry/sdk-node";
import { SpanProcessor } from "@opentelemetry/sdk-trace-base";

//#region src/instrumentation.d.ts
declare const defaultBatchProcessor: SpanProcessor;
declare const defaultResource: _opentelemetry_resources0.Resource;
declare const defaultInstrumentations: NonNullable<NodeSDKConfiguration['instrumentations']>;
declare const defaultSpanProcessors: SpanProcessor[];
declare const defaultContextManager: AsyncLocalStorageContextManager;
declare const defaultTextMapPropagator: CompositePropagator;
declare const defaultSDK: NodeSDK;
declare function startOpenTelemetrySDK(): void;
declare function flushBatchProcessor(): Promise<void>;
//#endregion
export { defaultBatchProcessor, defaultContextManager, defaultInstrumentations, defaultResource, defaultSDK, defaultSpanProcessors, defaultTextMapPropagator, flushBatchProcessor, startOpenTelemetrySDK };