/**
 * HTTP propagation helpers for Effect tracing context.
 *
 * This module converts Effect `Tracer.Span` values into outbound trace headers
 * and decodes inbound propagation headers into `Tracer.ExternalSpan` parents.
 * HTTP clients use it to continue the current span across outgoing requests, and
 * server middleware uses it to parent request spans from upstream services.
 *
 * @since 4.0.0
 */
import * as Option from "../../Option.ts";
import * as Tracer from "../../Tracer.ts";
import * as Headers from "./Headers.ts";
/**
 * Function type for decoding tracing headers into an external span.
 *
 * **Details**
 *
 * Returns `Option.none` when the headers do not contain a supported or valid trace
 * context.
 *
 * @category models
 * @since 4.0.0
 */
export interface FromHeaders {
    (headers: Headers.Headers): Option.Option<Tracer.ExternalSpan>;
}
/**
 * Encodes a span into HTTP trace propagation headers.
 *
 * **Details**
 *
 * The generated headers include both compact B3 (`b3`) and W3C `traceparent`
 * formats.
 *
 * @category encoding
 * @since 4.0.0
 */
export declare const toHeaders: (span: Tracer.Span) => Headers.Headers;
/**
 * Decodes an external span safely from HTTP trace propagation headers.
 *
 * **Details**
 *
 * W3C `traceparent` is tried first, followed by compact B3 (`b3`) and then
 * multi-header B3 (`x-b3-*`).
 *
 * @category decoding
 * @since 4.0.0
 */
export declare const fromHeaders: (headers: Headers.Headers) => Option.Option<Tracer.ExternalSpan>;
/**
 * Decodes an external span safely from the compact B3 `b3` header.
 *
 * **Details**
 *
 * Returns `Option.none` when the header is missing or does not contain trace and
 * span identifiers.
 *
 * @category decoding
 * @since 4.0.0
 */
export declare const b3: FromHeaders;
/**
 * Decodes an external span safely from multi-header B3 propagation headers.
 *
 * **Details**
 *
 * The decoder reads `x-b3-traceid`, `x-b3-spanid`, and optional `x-b3-sampled`
 * headers.
 *
 * @category decoding
 * @since 4.0.0
 */
export declare const xb3: FromHeaders;
/**
 * Decodes an external span safely from the W3C `traceparent` header.
 *
 * **Details**
 *
 * Only version `00` headers with valid trace and span identifiers are accepted.
 *
 * @category decoding
 * @since 4.0.0
 */
export declare const w3c: FromHeaders;
//# sourceMappingURL=HttpTraceContext.d.ts.map