import type { Ref } from 'vue'; import type { ChatBusinessManager } from '../../manager/business/chat-business-manager'; import type { IShortcut } from '../../manager/business/types'; import type { IChatHelper, IRequestOptions } from '../../types'; import type { ChatBotEmitFn } from './use-chatbot-init'; import type { IToolBtn, Message, Shortcut, TagSchema, UserMessage } from '@blueking/chat-x'; export interface UseToolActionsParams { chatBusinessManager: Ref; chatHelper: Ref; cite: Ref; emit: ChatBotEmitFn; buildShortcutProperty: (shortcut: Shortcut, formModel: Record) => any; focusInput: () => void; getShortcutFromMessage: (message: Message) => IShortcut | null; /** 返回最新 requestOptions 的 getter(每次调用时读取,确保响应式) */ getRequestOptions?: () => IRequestOptions | undefined; scrollToBottom: () => Promise; } export interface UseToolActionsReturn { handleAgentAction: (tool: IToolBtn, messages: Message[]) => Promise; handleAgentFeedback: (tool: IToolBtn, messages: Message[], reasonList: string[], otherReason: string) => Promise; handleStopStreaming: () => Promise; handleUserAction: (tool: IToolBtn, message: Message) => Promise; handleUserInputConfirm: (message: Message, content: UserMessage['content'], docSchema: TagSchema) => Promise; handleUserShortcutConfirm: (message: Message, formModel: Record) => Promise; } export declare function useToolActions(params: UseToolActionsParams): UseToolActionsReturn; //# sourceMappingURL=use-tool-actions.d.ts.map