import { InternalMessageType, Message, MessageModel } from './MessageModel';
import { ThreadModel } from './ThreadModel';
import { MessageSentParams } from './MessageSentParams';
export declare class MessageSender<DM extends Message> {
    readonly content: Message['content'];
    private userMessage;
    private assistantMessage;
    private thread;
    constructor(content: Message['content'], userMessage: MessageModel<DM>, assistantMessage: MessageModel<DM>, thread: ThreadModel<DM>);
    private _finished;
    setText: (text: string) => void;
    pushChunk: (chunk: string) => void;
    setStatus: (status: string) => void;
    changeTypingStatus: (status: boolean) => void;
    updateCurrentTextIndex: () => void;
    getUserParams: (resolver: (params: {
        message: InternalMessageType;
    }) => void, getInternalMessage: (message: MessageModel) => InternalMessageType) => MessageSentParams;
}
