import { ThreadModel, MessageUserContent, MessageModel, InternalMessageType } from '../../models'; import { ChatUsersProps } from '../core/useChatProps'; import { Threads } from '../../models/Threads'; import { ApiManager } from '../core/useApiManager'; type BeforeUserMessageSendFnParams = { text: string; content: MessageUserContent; history: InternalMessageType[]; reason: 'editMessage' | 'newMessage'; parentMessage?: InternalMessageType; }; export type BeforeUserMessageSendFnType = (params: BeforeUserMessageSendFnParams) => { userMessage?: InternalMessageType; assistantMessage?: InternalMessageType; } | Promise<{ userMessage?: InternalMessageType; assistantMessage?: InternalMessageType; }>; export declare const useThreadSendMessage: (thread: ThreadModel | undefined, model: Threads, onFirstMessageSent: ChatUsersProps['onFirstMessageSent'], beforeUserMessageSend: BeforeUserMessageSendFnType | undefined, onAssistantMessageTypingFinish: ChatUsersProps['onAssistantMessageTypingFinish'], scroller: { handleBottomScroll?: () => void; } | undefined, apiManager: ApiManager) => { onSendNewsMessage: (content: MessageUserContent) => Promise; onEditMessage: (content: MessageUserContent, messageEdit: MessageModel) => Promise | undefined>; }; export {};