import React from "react"; import type { ChatStrategies } from "../../../types"; /** * XAdkProvider 默认布局 * * 提供类似 ChatGPT/DeepSeek 的默认布局: * - 左侧: 会话列表侧边栏 (可选,支持展开/收起) * - 右侧: 聊天区域 (标题 + 消息 + 输入框,居中显示,最大宽度800px) */ export interface DefaultLayoutProps { /** 是否显示会话列表 */ showSessionList?: boolean; /** 自定义头部 */ header?: React.ReactNode; /** 自定义底部 (替代默认 Sender) */ footer?: React.ReactNode; /** * 是否启用内置上传入口(上传按钮 + 隐藏 file input + 拖拽)。 * 未传时继承 XAdkProvider config.allowUpload。 * 内核 XAdkSender 不再内置上传逻辑,上传能力统一由 DefaultLayout 管理。 * 业务方自定义 footer 时可自行控制上传。 */ allowUpload?: boolean; /** 是否启用拖拽上传;未传时继承 config.draggable */ draggable?: boolean; /** 是否显示清空按钮 */ clearBtnShow?: boolean; /** 是否显示函数调用详情 */ showFnCallDetail?: boolean; /** 自定义消息 Footer */ messagesFooter?: (msg: any) => React.ReactNode; /** 自定义工具调用渲染函数,返回 null 则降级使用默认渲染 */ renderFunctionCall?: (msg: import("../../../types").IMessage) => React.ReactNode | null; /** 局部策略覆盖,优先级高于 Provider preset/strategies */ strategies?: ChatStrategies; } declare const DefaultLayout: React.FC; export default DefaultLayout;