/** * ChatMessageInput - Componente completo e independiente para el envío de mensajes en chats * * Este componente maneja todo el flujo de envío de mensajes: * - Input de texto con auto-resize y diseño minimalista * - Grabación de audio con visualización de ondas en tiempo real * - Transcripción de audio a texto mediante callback externo (opcional) * - Adjuntar archivos múltiples * - Preview de archivos adjuntos * - Preview de audio grabado (cuando no se usa transcripción) * - Envío de mensajes (texto, archivos y/o audio) * * El componente es completamente independiente del layout padre y usa `flex-shrink-0` * para mantenerse fijo en la parte inferior. No requiere configuración especial del contenedor padre. * * **Transcripción de Audio:** * Si se proporciona `onAudioTranscribe`, cuando se detiene la grabación de audio, el componente: * 1. Muestra un spinner mientras transcribe * 2. Llama al callback con el Blob de audio * 3. Establece automáticamente el texto transcrito en el input * 4. Limpia el audio grabado (ya que se usa el texto) * * Si no se proporciona `onAudioTranscribe`, el comportamiento es el mismo que antes: * el audio se mantiene como Blob y se envía junto con el mensaje. */ export interface ChatMessageInputProps { value: string; onChange: (value: string) => void; onSend: (message: string, files?: File[], audioBlob?: Blob) => void; onFileChange?: (files: File[]) => void; /** * Optional callback to transcribe audio to text. * If provided, when audio recording stops, it will be called to transcribe the audio. * The transcribed text will be automatically set in the input field. * * @param audioBlob - The recorded audio blob * @returns Promise - The transcribed text */ onAudioTranscribe?: (audioBlob: Blob) => Promise; disabled?: boolean; isLoading?: boolean; placeholder?: string; } export declare function ChatMessageInput({ value, onChange, onSend, onFileChange, onAudioTranscribe, disabled, isLoading, placeholder, }: ChatMessageInputProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=chat-message-input.d.ts.map