import type { Ref, ShallowRef } from 'vue'; import type { ChatBusinessManager } from '../../manager/business/chat-business-manager'; import type { IChatHelper, IRequestOptions } from '../../types'; import type { ChatBotEmitFn } from './use-chatbot-init'; import type { IUserMessage } from '@blueking/chat-helper'; import type { IAiSlashMenuItem, TagSchema, UserMessage } from '@blueking/chat-x'; export interface UseMessageSenderParams { chatBusinessManager: Ref; chatHelper: Ref; emit: ChatBotEmitFn; /** 返回最新 requestOptions 的 getter(每次调用时读取,确保响应式) */ getRequestOptions?: () => IRequestOptions | undefined; selectedResources: ShallowRef; selectedShortcut: Ref; } export interface UseMessageSenderReturn { cite: Ref; userInput: ShallowRef; doSendMessage: (message: IUserMessage['content'], options?: { property?: Record; }) => Promise; handleSendMessage: (content: UserMessage['content'], docSchema: TagSchema) => Promise; handleStopSending: () => Promise; handleUpdateModelValue: (value: string | TagSchema, resourceList: IAiSlashMenuItem[]) => void; handleUpload: (file: File) => Promise<{ download_url?: string; }>; stopGeneration: () => Promise; } export declare function useMessageSender(params: UseMessageSenderParams): UseMessageSenderReturn; //# sourceMappingURL=use-message-sender.d.ts.map