/** * ChatML detection + payload pretty-print. Pure and total. Output is ALWAYS * plain text/data — nothing here interprets HTML (the transcript/IO renderers * inherit the no-dangerouslySetInnerHTML invariant from these totals). */ import type { ChatMessage } from "./types.js"; /** Parse a value as a chat-message array (`[{role, content}, …]`) or null when it is not one. */ export declare function asChat(value: string): ChatMessage[] | null; /** Pretty-print a stringified value as JSON when parseable, else leave it raw. Always plain text. */ export declare function prettyValue(value: string): string; /** True when a message's content is redacted OR is/contains redacted thinking/reasoning. Pure, total. */ export declare function isRedactedThinking(m: ChatMessage): boolean; /** Extract a plain-text body from a message's content (string, or joined text/thinking blocks). Total. */ export declare function contentText(content: unknown): string;