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>;