import type { ChatRequestOptions, Message } from 'ai'; interface UseChatOptions { api?: string; id?: string; initialMessages?: Message[]; initialInput?: string; onResponse?: (response: Response) => void | Promise; onFinish?: (message: Message) => void; onError?: (error: Error) => void; onToolCall?: (options: { toolCall: any; }) => void | Promise; headers?: Record | Headers; body?: object; sendExtraMessageFields?: boolean; experimental_onFunctionCall?: any; experimental_onToolCall?: any; streamMode?: 'stream-data' | 'text'; keepLastMessageOnError?: boolean; generateId?: () => string; fetch?: typeof fetch; } interface UseChatReturn { messages: Message[]; input: string; handleInputChange: (e: React.ChangeEvent) => void; handleSubmit: (e: React.FormEvent, chatRequestOptions?: ChatRequestOptions) => void; isLoading: boolean; error: Error | undefined; append: (message: Message | { role: 'user' | 'assistant'; content: string; }, chatRequestOptions?: ChatRequestOptions) => Promise; reload: (chatRequestOptions?: ChatRequestOptions) => Promise; stop: () => void; setMessages: (messages: Message[]) => void; setInput: (input: string) => void; data: any[]; } export declare function useAIChat(options: UseChatOptions): UseChatReturn; export {}; //# sourceMappingURL=useAIChat.d.ts.map