import type { Context, SpanOptions, TracerProvider } from '@opentelemetry/api';
/**
 * Whether these are the start arguments of the span Next.js wraps a prerender in. Next.js computes the
 * `sentry-trace` and `baggage` meta tags of a document inside that span, and a prerender produces a
 * shell that is cached and served to later visitors. A render for a request, including the resume of
 * a prerendered shell, computes the tags outside of it.
 *
 * @internal
 */
export declare function isPrerenderSpanStart(name: string, options: SpanOptions | undefined): boolean;
/**
 * Whether the context belongs to a prerender started through a tracer of a marked provider.
 *
 * @internal
 */
export declare function isPrerenderContext(ctx: Context): boolean;
/**
 * Makes a tracer provider mark prerenders of Next.js on the OpenTelemetry context, by wrapping the
 * tracers it hands out. `NextSentryPropagator` relies on the mark. The SDK calls this for the provider it
 * registers; an app that sets up OpenTelemetry itself calls it with its own provider. Safe to call
 * repeatedly with the same provider, which the per-request `init` on Cloudflare does.
 */
export declare function markPrerendersOnTracerProvider(provider: TracerProvider): void;
/**
 * The tracer provider behind the global OpenTelemetry API, which is a proxy around the registered one.
 *
 * @internal
 */
export declare function getGlobalTracerProvider(): TracerProvider;
//# sourceMappingURL=prerenderContext.d.ts.map