import { InternalMessageType, Message, MessageModel } from './MessageModel'; import { ObservableReactValue } from '../utils/observers/ObservableReactValue'; export type GetCurrentBranchFnType = (lastMessage: InternalMessageType) => Message[]; export declare class ThreadMessages { allMessages: ObservableReactValue[]>; currentMessages: ObservableReactValue[]>; internalMessageTransformer: (message: MessageModel) => InternalMessageType; getCurrentBranchFn?: GetCurrentBranchFnType; private branchMapManager; get allMessagesArray(): MessageModel[]; private _lastMessage?; private _callbackInitiated; init: (enableBranches?: boolean) => void; changeBranchesStatus: (enableBranches: boolean) => void; handleChangeBranch: (message: MessageModel) => void; private _updateBranch; private _getBranchRecursive; private _createTree; private _createNewMap; push: (...newMessages: MessageModel[]) => void; get length(): number; }