import * as React from 'react'; import { MobileMessageActionsType } from '../message/hooks/useMobileMessageActions'; import { MessagesModeType } from '../message/hooks/useMessagesMode'; import { ThreadModel } from '../../models/ThreadModel'; import { Thread, Message } from '../../models'; import { ApiManager } from '../core/useApiManager'; import { PrivateApiRefType } from '../core/useApiRef'; import { type ChatGlobalContextType } from '../core/ChatGlobalContext'; import { ChatScrollApiRef } from './ChatScroller'; import { Threads } from '../../models/Threads'; type ThreadContextType> = { thread: ThreadModel | undefined; mobileMessageActions: MobileMessageActionsType; messageMode: MessagesModeType; apiRef: React.RefObject>; }; type Props> = React.PropsWithChildren<{ model: Threads; thread: ThreadModel | undefined; apiManager: ApiManager; scrollRef: React.RefObject; globalProps: Pick, 'onFirstMessageSent' | 'onAssistantMessageTypingFinish' | 'enableBranches' | 'beforeUserMessageSend' | 'getCurrentBranch' | 'getConversationBlockHeightMin'>; contentRef?: React.RefObject; }>; declare const ThreadProvider: >({ children, model, thread, apiManager, scrollRef, contentRef, globalProps }: Props) => React.JSX.Element; declare const useThreadContext: >() => ThreadContextType; export { ThreadProvider, useThreadContext };