import { PersonaMessage } from './types'; import { ThreadMessageLike } from '@assistant-ui/react'; export declare function generateMessageId(): string; export declare function ensureMessageId(message: PersonaMessage): PersonaMessage; declare function removeEmptyMessages(messages: PersonaMessage[]): PersonaMessage[]; declare function parseMessages(messages: PersonaMessage[]): PersonaMessage[]; declare function convertMessage(message: PersonaMessage): ThreadMessageLike; /** * Builds a converter that folds every run of consecutive agent messages * (reasoning, tool calls, text) into a single assistant message per turn, the * shape assistant-ui expects: grouping, action bars and "N tool calls" all work * per message. User messages and runtime notices stay on their own. * * The converter is stateful on purpose: conversions are cached per source * message and per turn, so while streaming only the last turn is rebuilt and * finished turns keep their identity (no re-render, no tool UI remount). */ declare function createTurnGrouper(): (messages: readonly PersonaMessage[]) => ThreadMessageLike[]; export { parseMessages, convertMessage, removeEmptyMessages, createTurnGrouper }; //# sourceMappingURL=messages.d.ts.map