import { ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback } from 'ai'; import { ImagineUIDataParts, ImagineUIMessage } from '@imagine/ai-service/shared-types'; import { Subject, BehaviorSubject } from 'rxjs'; import { UseChatHelpers } from '@ai-sdk/react'; type ChatOnFinishCallbackArg = Parameters>[0]; type ChatOnDataCallbackArg = Parameters>[0]; type ChatOnErrorCallbackArg = Parameters[0]; export type AISDKChat = UseChatHelpers; type ChatState = { onData$: Subject; onFinish$: Subject; onError$: Subject; status: AISDKChat["status"]; isGenerating: boolean; todos: ImagineUIDataParts["plan"]["items"]; scrollToBottom$: Subject; scrollLocked$: BehaviorSubject; history: Array | null; submittedUserMessage: ImagineUIMessage | null; currentAssistantMessage: ImagineUIMessage | null; error: Error | undefined; }; type ChatActions = { reset: () => void; setStatus: (status: AISDKChat["status"]) => void; setTodos: (todos: ImagineUIDataParts["plan"]["items"]) => void; resetTodos: () => void; setHistory: (history: Array | null) => void; syncHistoryAfterGeneration: () => void; setSubmittedUserMessage: (submittedUserMessage: ImagineUIMessage | null) => void; setCurrentAssistantMessage: (currentAssistantMessage: ImagineUIMessage | null) => void; setError: (error: Error | undefined) => void; lockScroll: () => void; unlockScroll: () => void; }; export type ChatSlice = ChatState & ChatActions; export declare const chatSlice: import('@dhmk/zustand-lens').LensOpaqueType; export {}; //# sourceMappingURL=chat.slice.d.ts.map