import React from "react"; import { ReactNextElement } from "@next-core/react-element"; import "@next-core/theme"; import type { UseBrickConfOrRenderFunction } from "@next-core/react-runtime"; import type { ChatPayload, CommandPayload, FileInfo, UploadOptions } from "../shared/interfaces"; export interface ChatPanelProps { panelTitle?: string; aiEmployeeId?: string; cmd?: CommandPayload; width?: string | number; height?: string | number; placeholder?: string; uploadOptions?: UploadOptions; help?: { useBrick: UseBrickConfOrRenderFunction; }; maskClosable?: boolean; } /** * 弹出式 AI 对话面板,以模态框形式展示对话界面,支持与 AI 助手进行多轮对话。 * * @description 弹出式 AI 对话面板,以模态框形式展示对话界面,支持与 AI 助手进行多轮对话。 * @category ai-portal */ export declare class ChatPanel extends ReactNextElement implements ChatPanelProps { #private; /** * 面板标题 */ accessor panelTitle: string | undefined; /** * 预设数字人 ID,对话提交时会携带该 ID */ accessor aiEmployeeId: string | undefined; /** * 预设命令载荷,对话提交时会携带该命令 */ accessor cmd: CommandPayload | undefined; /** * 面板宽度 */ accessor width: string | number | undefined; /** * 面板高度 */ accessor height: string | number | undefined; /** * 输入框占位文字 */ accessor placeholder: string | undefined; /** * 文件上传配置 */ accessor uploadOptions: UploadOptions | undefined; /** * 无对话时显示的帮助内容配置 */ accessor help: { useBrick: UseBrickConfOrRenderFunction; } | undefined; /** * 是否点击遮罩关闭面板 * * @default false */ accessor maskClosable: boolean | undefined; /** * 打开对话面板 */ open(): void; /** * 关闭对话面板 */ close(): void; /** * 设置输入框的内容 * @param content 要设置的文本内容 */ setInputValue(content: string): void; /** * 直接发送一条消息 * @param payload 消息载荷,包含文本内容及可选的文件、命令等 */ send(payload: ChatPayload): void; /** * 在面板中显示文件预览 * @param file 要预览的文件信息 */ showFile(file: FileInfo): void; render(): React.JSX.Element; }