import type { Context, Span, TextMapGetter, TextMapSetter } from '@opentelemetry/api';
import { TraceState, W3CBaggagePropagator } from '@opentelemetry/core';
import type { continueTrace } from '@sentry/core';
import type { DynamicSamplingContext, PropagationContext } from '@sentry/types';
/** Get the Sentry propagation context from a span context. */
export declare function getPropagationContextFromSpan(span: Span): PropagationContext;
/**
 * Injects and extracts `sentry-trace` and `baggage` headers from carriers.
 */
export declare class SentryPropagator extends W3CBaggagePropagator {
    /** A map of URLs that have already been checked for if they match tracePropagationTargets. */
    private _urlMatchesTargetsMap;
    constructor();
    /**
     * @inheritDoc
     */
    inject(context: Context, carrier: unknown, setter: TextMapSetter): void;
    /**
     * @inheritDoc
     */
    extract(context: Context, carrier: unknown, getter: TextMapGetter): Context;
    /**
     * @inheritDoc
     */
    fields(): string[];
    /** If we want to inject trace data for a given URL. */
    private _shouldInjectTraceData;
}
/** Exported for tests. */
export declare function makeTraceState({ parentSpanId, dsc, sampled, }: {
    parentSpanId?: string;
    dsc?: Partial<DynamicSamplingContext>;
    sampled?: boolean;
}): TraceState;
/**
 * Takes trace strings and propagates them as a remote active span.
 * This should be used in addition to `continueTrace` in OTEL-powered environments.
 */
export declare function continueTraceAsRemoteSpan<T>(ctx: Context, options: Parameters<typeof continueTrace>[0], callback: () => T): T;
//# sourceMappingURL=propagator.d.ts.map