import { MessageFile } from '../../../../types/messageFile';
import { Messages } from '../messages';
import { Response } from '../../../../types/response';
import { MessagesBase } from '../messagesBase';
export declare class MessageStream {
    static readonly MESSAGE_CLASS = "streamed-message";
    private _fileAdded;
    private _streamType;
    private _elements?;
    private _hasStreamEnded;
    private _activeMessageRole?;
    private _message?;
    private readonly _messages;
    private _endStreamAfterOperation?;
    constructor(messages: MessagesBase);
    upsertStreamedMessage(response?: Response): void;
    private setInitialState;
    private updateBasedOnType;
    private updateText;
    private updateHTML;
    finaliseStreamedMessage(): void;
    markFileAdded(): void;
    newMessage(): void;
    endStreamAfterFileDownloaded(messages: Messages, downloadCb: () => Promise<{
        files?: MessageFile[];
        text?: string;
    }>): Promise<void>;
}
//# sourceMappingURL=messageStream.d.ts.map