import type { TamboThreadMessage } from "../types/message";
/**
* Return type for useTamboMessages hook
*/
export interface UseTamboThreadMessagesReturn {
/**
* All messages in the thread
*/
messages: TamboThreadMessage[];
/**
* The most recent message (last in the list)
*/
lastMessage: TamboThreadMessage | undefined;
/**
* User messages only
*/
userMessages: TamboThreadMessage[];
/**
* Assistant messages only
*/
assistantMessages: TamboThreadMessage[];
/**
* Whether there are any messages
*/
hasMessages: boolean;
/**
* Total message count
*/
messageCount: number;
}
/**
* Hook to access messages in a thread.
*
* Provides filtered views of messages (user-only, assistant-only)
* and metadata about the message list.
* @param threadId - Thread ID to get messages for
* @returns Message list and utilities
* @example
* ```tsx
* function MessageList({ threadId }: { threadId: string }) {
* const { messages, hasMessages, lastMessage } = useTamboMessages(threadId);
*
* if (!hasMessages) {
* return