import type { Ref } from 'vue';
import type { ChatBusinessManager } from '../../manager/business/chat-business-manager';
import type { IShortcut } from '../../manager/business/types';
import type { IChatHelper } 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<ChatBusinessManager | null>;
    chatHelper: Ref<IChatHelper | null>;
    cite: Ref<string>;
    emit: ChatBotEmitFn;
    buildShortcutProperty: (shortcut: Shortcut, formModel: Record<string, unknown>) => any;
    focusInput: () => void;
    getShortcutFromMessage: (message: Message) => IShortcut | null;
    scrollToBottom: () => Promise<void>;
}
export interface UseToolActionsReturn {
    handleAgentAction: (tool: IToolBtn, messages: Message[]) => Promise<string[] | void>;
    handleAgentFeedback: (tool: IToolBtn, messages: Message[], reasonList: string[], otherReason: string) => Promise<void>;
    handleStopStreaming: () => Promise<void>;
    handleUserAction: (tool: IToolBtn, message: Message) => Promise<void>;
    handleUserInputConfirm: (message: Message, content: UserMessage['content'], docSchema: TagSchema) => Promise<void>;
    handleUserShortcutConfirm: (message: Message, formModel: Record<string, unknown>) => Promise<void>;
}
export declare function useToolActions(params: UseToolActionsParams): UseToolActionsReturn;
//# sourceMappingURL=use-tool-actions.d.ts.map