import { FC, ForwardRefExoticComponent, RefAttributes, ComponentProps, HTMLAttributes, PropsWithChildren, ReactNode, SyntheticEvent } from 'react'; import { ChatStatus } from '../../../../lib/ai/types'; import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from '../command/command'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem } from '../dropdown-menu/dropdown-menu'; import { HoverCard, HoverCardContent, HoverCardTrigger } from '../hover-card/hover-card'; import { InputGroupAddon, InputGroupButton, InputGroupTextarea } from '../input-group/input-group'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select/select'; type TextInputContext = { value: string; setInput: (v: string) => void; clear: () => void; }; type PromptInputControllerProps = { textInput: TextInputContext; }; declare const usePromptInputController: () => PromptInputControllerProps; type PromptInputProviderProps = PropsWithChildren<{ initialInput?: string; }>; declare function PromptInputProvider({ initialInput: initialTextInput, children, }: PromptInputProviderProps): ReactNode; type PromptInputMessage = { text?: string; }; type PromptInputProps = Omit, 'onSubmit'> & { onSubmit: (message: PromptInputMessage, event: SyntheticEvent) => void | Promise; helperText?: ReactNode | false; errorMessage?: string; }; declare const PromptInput: FC; type PromptInputBodyProps = HTMLAttributes; declare const PromptInputBody: ForwardRefExoticComponent>; type PromptInputTextareaProps = ComponentProps; declare const PromptInputTextarea: ForwardRefExoticComponent & RefAttributes>; type PromptInputHeaderProps = Omit, 'align'>; declare const PromptInputHeader: ForwardRefExoticComponent & RefAttributes>; type PromptInputFooterProps = Omit, 'align'>; declare const PromptInputFooter: ForwardRefExoticComponent & RefAttributes>; type PromptInputToolsProps = HTMLAttributes; declare const PromptInputTools: ForwardRefExoticComponent>; type PromptInputButtonProps = ComponentProps; declare const PromptInputButton: ForwardRefExoticComponent & RefAttributes>; type PromptInputActionMenuProps = ComponentProps; declare const PromptInputActionMenu: FC; type PromptInputActionMenuTriggerProps = PromptInputButtonProps; declare const PromptInputActionMenuTrigger: FC; type PromptInputActionMenuContentProps = ComponentProps; declare const PromptInputActionMenuContent: FC; type PromptInputActionMenuItemProps = ComponentProps; declare const PromptInputActionMenuItem: FC; type PromptInputSubmitProps = ComponentProps & { status?: ChatStatus; }; declare const PromptInputSubmit: ForwardRefExoticComponent & RefAttributes>; type PromptInputModelSelectProps = ComponentProps; declare const PromptInputModelSelect: FC; type PromptInputModelSelectTriggerProps = ComponentProps; declare const PromptInputModelSelectTrigger: FC; type PromptInputModelSelectContentProps = ComponentProps; declare const PromptInputModelSelectContent: FC; type PromptInputModelSelectItemProps = ComponentProps; declare const PromptInputModelSelectItem: FC; type PromptInputModelSelectValueProps = ComponentProps; declare const PromptInputModelSelectValue: FC; type PromptInputHoverCardProps = ComponentProps; declare const PromptInputHoverCard: FC; type PromptInputHoverCardTriggerProps = ComponentProps; declare const PromptInputHoverCardTrigger: FC; type PromptInputHoverCardContentProps = ComponentProps; declare const PromptInputHoverCardContent: FC; type PromptInputTabsListProps = HTMLAttributes; declare const PromptInputTabsList: ForwardRefExoticComponent>; type PromptInputTabProps = HTMLAttributes; declare const PromptInputTab: ForwardRefExoticComponent>; type PromptInputTabLabelProps = HTMLAttributes; declare const PromptInputTabLabel: ForwardRefExoticComponent>; type PromptInputTabBodyProps = HTMLAttributes; declare const PromptInputTabBody: ForwardRefExoticComponent>; type PromptInputTabItemProps = HTMLAttributes; declare const PromptInputTabItem: ForwardRefExoticComponent>; type PromptInputCommandProps = ComponentProps; declare const PromptInputCommand: FC; type PromptInputCommandInputProps = ComponentProps; declare const PromptInputCommandInput: FC; type PromptInputCommandListProps = ComponentProps; declare const PromptInputCommandList: FC; type PromptInputCommandEmptyProps = ComponentProps; declare const PromptInputCommandEmpty: FC; type PromptInputCommandGroupProps = ComponentProps; declare const PromptInputCommandGroup: FC; type PromptInputCommandItemProps = ComponentProps; declare const PromptInputCommandItem: FC; type PromptInputCommandSeparatorProps = ComponentProps; declare const PromptInputCommandSeparator: FC; export { usePromptInputController, PromptInputProvider, PromptInput, PromptInputBody, PromptInputTextarea, PromptInputHeader, PromptInputFooter, PromptInputTools, PromptInputButton, PromptInputActionMenu, PromptInputActionMenuTrigger, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputSubmit, PromptInputModelSelect, PromptInputModelSelectTrigger, PromptInputModelSelectContent, PromptInputModelSelectItem, PromptInputModelSelectValue, PromptInputHoverCard, PromptInputHoverCardTrigger, PromptInputHoverCardContent, PromptInputTabsList, PromptInputTab, PromptInputTabLabel, PromptInputTabBody, PromptInputTabItem, PromptInputCommand, PromptInputCommandInput, PromptInputCommandList, PromptInputCommandEmpty, PromptInputCommandGroup, PromptInputCommandItem, PromptInputCommandSeparator, };