import type { Context, TextMapSetter, TracerProvider } from '@opentelemetry/api';
import { SentryPropagator } from '@sentry/opentelemetry';
/**
 * A `SentryPropagator` that does not hand out the trace meta tags of a document while Next.js
 * prerenders it. Trace context baked into a prerendered shell would be replayed to every visitor the
 * shell is served to, so the browser could continue a trace that never handled its request. The shell
 * gets the prerender's trace in a `sentry-cache-origin` tag instead, which the client only links.
 *
 * The SDK registers it when it sets up OpenTelemetry. An app that sets up OpenTelemetry itself
 * registers it in place of `SentryPropagator` and calls `markPrerendersOnTracerProvider` with its
 * tracer provider, which this propagator relies on to recognize a prerender.
 */
export declare class NextSentryPropagator extends SentryPropagator {
    /** @inheritDoc */
    inject(ctx: Context, carrier: unknown, setter: TextMapSetter): void;
}
/**
 * Makes the tracer provider the Node SDK registered mark prerenders on the OpenTelemetry context, and
 * replaces the propagator it registered with one that hands out no meta tags on a marked context.
 */
export declare function registerNextSentryPropagator(provider: TracerProvider): void;
//# sourceMappingURL=nextSentryPropagator.d.ts.map