import '../../timezone';
import type { IncomingMessage } from 'node:http';
import { type AttributeValue } from '@opentelemetry/api';
import { type Instrumentation } from '@opentelemetry/instrumentation';
import { type MetricReader } from '@opentelemetry/sdk-metrics';
import { type SpanProcessor } from '@opentelemetry/sdk-trace-base';
export * from './helpers';
export type HttpIncomingRequestAttributeHook = (request: IncomingMessage) => Record<string, AttributeValue>;
export interface TelemetryInitOptions {
    serviceName?: string;
    serviceVersion?: string;
    disabled?: boolean;
    instrumentations?: Instrumentation[];
    httpIncomingRequestAttributeHook?: HttpIncomingRequestAttributeHook;
    enableMetricsEndpoint?: boolean;
    spanProcessors?: SpanProcessor[];
    metricReaders?: MetricReader[];
}
export type IOtelOptions = TelemetryInitOptions;
export declare function init(options?: TelemetryInitOptions): void;
export declare function shutdownTelemetry(): Promise<void>;
export declare function resetTelemetryForTests(): void;
//# sourceMappingURL=index.d.ts.map