import React from "react"; import { ReactNextElement } from "@next-core/react-element"; import "@next-core/theme"; import type { ActionsEvents, ActionsEventsMapping, ActionsProps, EoActions } from "@next-bricks/basic/actions"; import type { ChatPayload, UploadOptions } from "../shared/interfaces.js"; import { type AIEmployee, type Command } from "../shared/ChatCompletions/useChatCompletions.js"; export declare const WrappedActions: import("@next-core/react-element").WrappedBrickWithEventsMap; export interface ChatInputProps { placeholder?: string; autoFocus?: boolean; submitDisabled?: boolean; supportsTerminate?: boolean; terminating?: boolean; autoFade?: boolean; uploadOptions?: UploadOptions; aiEmployees?: AIEmployee[]; commands?: Command[]; suggestionsPlacement?: "top" | "bottom"; } export interface ChatInputEvents { "chat.submit": CustomEvent; terminate: Event; } export interface ChatInputMapEvents { onChatSubmit: "chat.submit"; onTerminate: "terminate"; } /** * 小型聊天输入框,用于对话等页面,支持命令联想、@提及数字人、文件上传及终止任务等功能。 * * @description 小型聊天输入框,用于对话等页面,支持命令联想、@提及数字人、文件上传及终止任务等功能。 * @category ai-portal */ export declare class ChatInput extends ReactNextElement implements ChatInputProps { #private; /** * 输入框占位文字 */ accessor placeholder: string | undefined; /** * 是否自动聚焦 */ accessor autoFocus: boolean | undefined; /** * 是否禁用发送按钮,通常在 AI 正在处理时设为 true */ accessor submitDisabled: boolean | undefined; /** * 是否显示终止任务按钮,需与 submitDisabled 配合使用 */ accessor supportsTerminate: boolean | undefined; /** * 是否正在终止任务,为 true 时显示加载状态 */ accessor terminating: boolean | undefined; /** * 是否在输入框为空时自动淡出,通过 CSS 属性选择器控制样式 */ accessor autoFade: boolean | undefined; /** * 文件上传配置 */ accessor uploadOptions: UploadOptions | undefined; /** * 可 @ 提及的数字人列表 */ accessor aiEmployees: AIEmployee[] | undefined; /** * 命令列表,支持通过 / 或搜索触发联想 */ accessor commands: Command[] | undefined; /** * 命令/提及联想弹出层的显示位置 * * @default "bottom" */ accessor suggestionsPlacement: "top" | "bottom" | undefined; /** * 设置输入框的值并聚焦 * @param value 要设置的文本内容 */ setValue(value: string): void; render(): React.JSX.Element; }