/** * Pure, dependency-free, deterministic demo-mode redactor. * * Replaces every email with one canonical anonymous address and free numbers * with stable fake substitutes. Crucially, it NEVER rewrites identifiers, * structural tokens, or timestamps. Names and other free text are deliberately * left alone because guessing whether arbitrary text is a person's name is too * inaccurate. The string redactor uses a protect-first strategy (mask IDs with * opaque placeholders before any transform runs, restore them byte-identical * afterwards), and the structure-aware walker additionally protects leaf * values by key name. */ export interface RedactOptions { salt?: string; /** Redact numeric values. Defaults to true for backward compatibility. */ redactNumbers?: boolean; /** * Redact emails stored in otherwise protected structural fields such as * `userId` and `userKey`. Intended for display-only frontend responses. */ redactProtectedEmails?: boolean; } export declare const DEMO_ANONYMOUS_EMAIL = "anonymous@builder.io"; export declare function redactDemoString(text: string, opts?: RedactOptions): string; export declare function redactDemoData(value: T, opts?: RedactOptions): T; /** * Clear the stable-mapping caches. Test-only — the caches are process-global * (intentionally, so mappings stay stable for a tab's session), which would * otherwise let one test's produced fakes leak into another's assertions. */ export declare function __resetDemoRedactCacheForTests(): void; //# sourceMappingURL=redact.d.ts.map