/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { TemplateResult } from 'lit'; import { ChatbotFile, ChatbotI18n } from '../chatbot.types.js'; import type { AudioRecordingState } from '../chatbot-audio.controller.js'; import { DropdownItem } from '../../dropdown/dropdown.types.js'; import { SelectOption } from '../../select/select.types.js'; export interface InputBoxTemplateHandlers { onInput: (e: Event) => void; onKeydown: (e: KeyboardEvent) => void; onFocus: (e: FocusEvent) => void; onBlur: (e: FocusEvent) => void; onSend: () => void; onStop: () => void; onSendKeydown: (e: KeyboardEvent) => void; onFileDropdownClick: (e: CustomEvent) => void; onModuleChange: (e: CustomEvent) => void; onFileRemove: (fileId: string) => void; onFileClick?: (file: ChatbotFile) => void; onAudioStart?: (mode: 'transcribe' | 'message') => void; onAudioCancel?: () => void; onAudioSend?: () => void; } export interface InputBoxTemplateData { placeholder: string; disabled: boolean; currentInput: string; uploadedFiles: ChatbotFile[]; isQueryRunning: boolean; showSendButton: boolean; enableFileUpload: boolean; fileUploadItems: DropdownItem[]; enableModuleSelection: boolean; moduleOptions: SelectOption[]; selectedModules: string[]; moduleSelectionLabel: string; renderModuleDisplay: () => TemplateResult; showAudioButton: boolean; audioRecording: AudioRecordingState; audioMode: 'transcribe' | 'message'; i18n: ChatbotI18n; } /** * Renders the complete input box */ export declare function renderInputBox(data: InputBoxTemplateData, handlers: InputBoxTemplateHandlers): TemplateResult; //# sourceMappingURL=input-box.template.d.ts.map