import { ChatMessage } from '../elements/chat-types'; /** Append a message; returns a new array. */ export declare function appendMessage(messages: ChatMessage[], msg: ChatMessage): ChatMessage[]; /** Replace a same-id message, or append when absent. */ export declare function upsertMessage(messages: ChatMessage[], msg: ChatMessage): ChatMessage[]; /** Patch the matched message (object patch or updater). Untouched items keep their reference. */ export declare function updateMessage(messages: ChatMessage[], id: string, patch: Partial | ((m: ChatMessage) => ChatMessage)): ChatMessage[]; /** Remove the matched message. */ export declare function removeMessage(messages: ChatMessage[], id: string): ChatMessage[]; /** Streaming primitive: concatenate `delta` onto the matched message's content. */ export declare function appendContent(messages: ChatMessage[], id: string, delta: string): ChatMessage[];