import { PersonaInfo, ProjectInfo } from '../../types'; import { useChat } from '../chat'; declare global { interface MjEngineAiChat { complete?: (message: string) => Promise; project?: ProjectInfo; settings: { persona?: PersonaInfo; }; /** * @param index 下标从1开始 */ setFirstMesIndex?: (index: number) => Promise; } interface MjEngineAi { chat: MjEngineAiChat; } interface MjEngine { ai: MjEngineAi; } interface Window { $mj_engine: MjEngine & { bind: (extra: { messageId: string; swipeId: number; }) => MjEngine & { ai: { chat: { mjv: { get: (path: string) => unknown; getAll: () => unknown; }; }; }; }; }; } } type UseChatRet = ReturnType; export type UseMjEngineOpts = { projectInfo?: ProjectInfo; activePersona?: PersonaInfo; onSend: (query: string) => unknown; messages: UseChatRet['messages']; setSwipe: UseChatRet['setSwipe']; }; export declare function useMjEngine({ projectInfo, activePersona, onSend, messages, setSwipe, }: UseMjEngineOpts): void; export {};