/**
 * @file Header utilities for HTTP/HTTPS requests. Two pure-data helpers:
 *
 *   - `parseRetryAfterHeader` turns a `Retry-After` header value (delay-seconds
 *     OR HTTP-date per RFC 7231 §7.1.3) into a millisecond delay for `onRetry`
 *     callbacks.
 *   - `sanitizeHeaders` redacts `Authorization`, `Cookie`, and the other
 *     credential-bearing headers before they reach a logger or telemetry
 *     payload. No I/O — these can be imported anywhere without dragging the
 *     Node.js `http`/`https` modules into the bundle.
 */
/**
 * Parse a `Retry-After` HTTP header value into milliseconds.
 *
 * Supports both formats defined in RFC 7231 §7.1.3:
 *
 * - **delay-seconds**: integer number of seconds (e.g., `"120"`)
 * - **HTTP-date**: an absolute date/time (e.g., `"Fri, 31 Dec 2027 23:59:59
 *   GMT"`)
 *
 * When the header is an array (multiple values), the first element is used.
 *
 * @example
 *   ;```ts
 *   import { setTimeout as delay } from 'node:timers/promises'
 *   const ms = parseRetryAfterHeader(response.headers['retry-after'])
 *   if (ms !== undefined) {
 *     await delay(ms)
 *   }
 *   ```
 *
 * @param value - The raw Retry-After header value(s)
 *
 * @returns Delay in milliseconds, or `undefined` if the value cannot be parsed
 */
export declare function parseRetryAfterHeader(value: string | string[] | undefined): number | undefined;
/**
 * Redact sensitive HTTP headers for safe logging and telemetry.
 *
 * Replaces values of sensitive headers (Authorization, Cookie, etc.) with
 * `[REDACTED]`. Non-sensitive headers are passed through unchanged. Array
 * values are joined with `', '`.
 *
 * @example
 *   ;```ts
 *   const safe = sanitizeHeaders({
 *     authorization: 'Bearer secret',
 *     'content-type': 'application/json',
 *   })
 *   // { authorization: '[REDACTED]', 'content-type': 'application/json' }
 *   ```
 *
 * @param headers - HTTP headers to sanitize.
 *
 * @returns A new object with sensitive values redacted
 */
export declare function sanitizeHeaders(headers: Record<string, unknown> | undefined): Record<string, string>;
