import type { DispatchMatch, Headers, HttpMethod } from '../types.js'; export interface RedactionOptions { /** Extra header names to redact (lowercase). */ headers?: string[]; /** JSON body field names to replace with [REDACTED]. */ bodyFields?: string[]; /** Secret canary strings that must never appear in redacted output. */ canaries?: string[]; /** When true, keep only allowlisted safe headers (plus correlation ids). Default true. */ allowlistOnly?: boolean; } export interface RedactedHistoryEntry { sessionId: string; scenarioId: string; apiId: string; endpointId: string; method: HttpMethod; path: string; status: number; requestHeaders: Headers; responseHeaders: Headers; correlationIds: Record; /** Safe body summary — secrets stripped; RawResponseBody preserved as byte length + contentType. */ requestBody: unknown; responseBody: unknown; /** Original response body bytes when available (for transport evidence). */ responseBodyBytes?: Uint8Array; recordedAt: string; } export declare const redactMatch: (match: DispatchMatch, meta: { sessionId: string; scenarioId: string; }, options?: RedactionOptions) => RedactedHistoryEntry; /** Assert no canary appears in a redacted entry (for CR-004 tests). */ export declare const assertNoCanaries: (entry: RedactedHistoryEntry, canaries: string[]) => void; //# sourceMappingURL=history.d.ts.map