import type { CanonMessage } from './types.js'; /** * Project a CanonMessage to a single text representation suitable as a * baseline for plugins that feed messages to an LLM as plain text. * * Plugins that compose richer prompts (placeholders, capability hints, * native vision input) layer on top of this — the goal here is only to * guarantee that no contentType is ever silently dropped to an empty * string. Adding a new contentType to CanonMessage and forgetting to * handle it here surfaces in this file's tests, not as a silent * regression in every consumer plugin. */ export declare function formatCanonMessageAsText(message: Pick): string;