import { ReactElement } from 'react'; import { SuggestionConfig, MentionItem, SlashCommandItem } from './types'; export interface ChatInputProps { /** * Default value for the input field. */ defaultValue?: string; /** * Allowed file types for upload. */ allowedFiles?: string[]; /** * Allow multiple file uploads. * @default false */ allowMultipleFiles?: boolean; /** * Placeholder text for the input field. * @default 'Type a message...' */ placeholder?: string; /** * Icon to show for send. * @default */ sendIcon?: ReactElement; /** * Icon to show for stop. * @default */ stopIcon?: ReactElement; /** * Icon to show for attach. */ attachIcon?: ReactElement; /** * Configuration for mentions (@user). * Provide items or an onSearch function to enable mentions. */ mentions?: SuggestionConfig; /** * Class name to apply to the container. */ className?: string; /** * Configuration for commands (/command). * Provide items or an onSearch function to enable commands. */ commands?: SuggestionConfig; /** * Minimum height for the input. * @default 24 */ minHeight?: number; /** * Maximum height for the input. * @default 200 */ maxHeight?: number; /** * Whether to auto-focus the input on mount. * @default true */ autoFocus?: boolean; /** * Callback function to handle message change. */ onMessageChange?: (message: string) => void; } export interface ChatInputRef { /** * Focus the input. */ focus: () => void; /** * Get the current input value. */ getValue: () => string; /** * Set the input value. */ setValue: (value: string) => void; /** * Insert text at the current cursor position. */ insertText: (text: string) => void; } export declare const ChatInput: import('react').ForwardRefExoticComponent>;