import { type HqEventEnvelope, type HqRedactionPolicy } from './protocol.js'; export interface HqRedactOptions { policy?: Partial; projectRoot?: string; maxSummaryLength?: number; } export interface HqRedactionResult { value: T; redacted: boolean; } export declare function resolveHqRedactionPolicy(policy?: Partial): HqRedactionPolicy; /** * Apply an operator policy as a one-way privacy clamp. An override can make a * publisher policy stricter, but can never enable raw content or broader path * / tool-argument disclosure than the publisher selected. */ export declare function tightenHqRedactionPolicy(publisherPolicy: HqRedactionPolicy, operatorPolicy?: Partial): HqRedactionPolicy; /** * Scrub a free-text preview field and truncate it to a maximum length so * it is safe to embed in HQ event envelopes and broadcast to browsers * without leaking secrets or running away on unbounded input. * * Returns `undefined` when the input is empty or non-string. Truncation * suffix is `"…[truncated:N]"` where N is the number of dropped chars. */ export declare function scrubAndTruncateHqPreview(value: unknown, maxLength?: number): string | undefined; export declare function redactHqValue(value: T, options?: HqRedactOptions): HqRedactionResult; export declare function redactHqEvent(event: HqEventEnvelope, options?: HqRedactOptions): HqRedactionResult>; export declare function summarizeHqToolArgs(value: unknown, options?: HqRedactOptions): unknown; //# sourceMappingURL=redaction.d.ts.map