import type { Message } from "@oh-my-pi/pi-ai"; import type { SessionContext } from "../session/session-manager"; export interface SecretEntry { type: "plain" | "regex"; content: string; mode?: "obfuscate" | "replace"; replacement?: string; flags?: string; } export declare class SecretObfuscator { #private; constructor(entries: SecretEntry[]); hasSecrets(): boolean; /** Obfuscate all secrets in text. Bidirectional placeholders for obfuscate mode, one-way for replace. */ obfuscate(text: string): string; /** Deobfuscate obfuscate-mode placeholders back to original secrets. Replace-mode is NOT reversed. */ deobfuscate(text: string): string; /** Deep-walk an object, deobfuscating all string values. */ deobfuscateObject(obj: T): T; } export declare function deobfuscateSessionContext(sessionContext: SessionContext, obfuscator: SecretObfuscator | undefined): SessionContext; /** Obfuscate all text content in LLM messages (for outbound interception). */ export declare function obfuscateMessages(obfuscator: SecretObfuscator, messages: Message[]): Message[];