/** * Supported special action types for the chat input. * - 'document': Triggers document generation workflow. * - 'podcast': Triggers audio podcast generation. * - 'search': Triggers a knowledge base search. */ export type ActionType = 'document' | 'podcast' | 'search' | null; /** * Props for the ModernChatInput component. */ interface ModernChatInputProps { /** Current input text value */ value: string; /** Callback fired on every keystroke */ onChange: (value: string) => void; /** Callback fired when the user submits (via Enter or click) */ onSubmit: (action?: ActionType) => void; /** Input placeholder text */ placeholder?: string; /** Whether the input is disabled */ disabled?: boolean; /** Callback for file attachment button */ onFileUpload?: () => void; /** Callback for audio upload button */ onAudioUpload?: () => void; /** Callback fired when a voice recording is finished and transcribed */ onVoiceRecording?: (transcript: string) => void; /** Whether the input is being used in a full-page view (affects layout) */ isFullPage?: boolean; /** Whether to show audio input (voice recording). @default true */ enableAudioInput?: boolean; /** Whether to show the file attachment button. @default true */ enableFileAttachment?: boolean; /** Whether to show the "Create document" action. @default true */ enableDocumentCreation?: boolean; /** Whether to show the "Generate podcast" action. @default true */ enablePodcastGeneration?: boolean; /** Whether to show the "Search" action. @default true */ enableSearch?: boolean; } /** * Modern floating chat input with rich actions and voice recording. * * @description * An advanced text input that supports multi-line typing, quick action chips * (Document, Podcast, Search), file attachments, and simulated voice-to-text recording. * * @ai-rules * 1. Use the `onSubmit` callback to handle both text messages and special actions. * 2. This component manages its own height dynamically based on content (up to 100px). * 3. Voice recording is simulated — it returns a random string to the `onVoiceRecording` callback. */ export declare function ModernChatInput({ value, onChange, onSubmit, placeholder, disabled, onFileUpload, onAudioUpload, onVoiceRecording, isFullPage, enableAudioInput, enableFileAttachment, enableDocumentCreation, enablePodcastGeneration, enableSearch, }: ModernChatInputProps): import("react/jsx-runtime").JSX.Element; export {};