import type { Tracer } from '@opentelemetry/api';
import type { BasicTracerProvider } from '@opentelemetry/sdk-trace-base';
import type { DynamicSamplingContext, Scope, TraceContext } from '@sentry/core';
import { ServerRuntimeClient } from '@sentry/core';
import type { NodeClientOptions } from '../types';
/** A client for using Sentry with Node & OpenTelemetry. */
export declare class NodeClient extends ServerRuntimeClient<NodeClientOptions> {
    traceProvider: BasicTracerProvider | undefined;
    private _tracer;
    private _clientReportInterval;
    private _clientReportOnExitFlushListener;
    private _logOnExitFlushListener;
    constructor(options: NodeClientOptions);
    /** Get the OTEL tracer. */
    get tracer(): Tracer;
    flush(timeout?: number): Promise<boolean>;
    close(timeout?: number | undefined): PromiseLike<boolean>;
    /**
     * Will start tracking client reports for this client.
     *
     * NOTICE: This method will create an interval that is periodically called and attach a `process.on('beforeExit')`
     * hook. To clean up these resources, call `.close()` when you no longer intend to use the client. Not doing so will
     * result in a memory leak.
     */
    startClientReportTracking(): void;
    /** Custom implementation for OTEL, so we can handle scope-span linking. */
    protected _getTraceInfoFromScope(scope: Scope | undefined): [dynamicSamplingContext: Partial<DynamicSamplingContext> | undefined, traceContext: TraceContext | undefined];
}
//# sourceMappingURL=client.d.ts.map