import type { ChatMessage } from '../types/ChatMessage'; import type { ChatParticipant } from '../types/ChatParticipant'; import type { LlmChatProps } from './LlmChatProps'; /** * Metadata for a teammate agent tool. * * @private function of `useLlmChatState` */ type TeammateMetadata = { readonly url: string; readonly label?: string; readonly instructions?: string; readonly toolName: string; }; /** * Lookup map of teammate metadata by tool name. * * @private function of `useLlmChatState` */ type TeammatesMap = Record; /** * Minimal task-progress item rendered by ``. * * @private function of `useLlmChatState` */ type LlmChatTaskProgress = { readonly id: string; readonly name: string; readonly progress?: number; }; /** * State returned by `useLlmChatState`. * * @private function of `useLlmChatState` */ type UseLlmChatStateResult = { readonly handleMessage: (messageContent: string, attachments?: ChatMessage['attachments']) => Promise; readonly handleReset: () => Promise; readonly handleStopStreaming: () => void; readonly isStreaming: boolean; readonly isVoiceCalling: boolean; readonly messages: Array; readonly participants: ReadonlyArray; readonly tasksProgress: Array; readonly teammates: TeammatesMap | undefined; }; /** * Coordinates derived state and handlers consumed by ``. * * @private function of `` */ export declare function useLlmChatState(props: LlmChatProps): UseLlmChatStateResult; export {};