import type { AgentMessage } from "@oh-my-pi/pi-agent-core"; import { type ToolIOTransform } from "../session/session-history-format.js"; /** * Obfuscation surface the split renderer needs: a text redaction pass, plus * the optional prefix probe that keeps one-line previews from scanning text * they hide. Narrowed from the full SecretObfuscator class so tests can * satisfy the contract with a typed helper instead of an `as any` escape. A * SecretObfuscator instance is structurally assignable. */ export interface AdvisorObfuscator { obfuscate(text: string, sharedRegexSecretValues?: ReadonlySet): string; redactionPrefixEnd?(text: string, limit: number, sharedRegexSecretValues?: ReadonlySet): number; } /** The advisor's tool-I/O redaction, sharing one batch's regex secret values. */ export declare function advisorToolIOTransform(obfuscator: AdvisorObfuscator, sharedRegexSecretValues: ReadonlySet): ToolIOTransform; /** Render options shared by the advisor single-block and multi-message paths. */ export declare const ADVISOR_RENDER_OPTIONS: { readonly includeToolIntent: true; readonly watchedRoles: true; readonly expandPrimaryContext: true; readonly expandEditDiffs: true; readonly expandToolIO: true; }; export interface RenderAdvisorDeltaChunksOptions { wip: boolean; includeThinking: boolean; obfuscator?: AdvisorObfuscator; advisorRegexSecretValues: ReadonlySet; } export declare function renderAdvisorDeltaChunks(delta: AgentMessage[], opts: RenderAdvisorDeltaChunksOptions): AgentMessage[] | null;