///
import { XAdkSDKProps, XAdkProviderHandle, IMessage } from "../types";
import { SendContent } from "../types";
import * as protocol from "../core/protocol";
/**
* 内部包装组件:管理 token 状态,支持运行时动态更新
*/
interface WrapperHandle extends XAdkProviderHandle {
setToken: (token: string) => void;
}
/**
* XAiWebSDK - UMD 入口类
*
* 用于通过
*
* ```
*/
declare class XAiWebSDK {
/** UMD 场景下暴露协议工具,方便无构建环境复用 ADK event/message 转换能力。 */
static protocol: typeof protocol;
/** UMD 场景下创建 headless 对话控制器,不强制渲染默认聊天模板。 */
static createAdkController: (options: import("../core/runtime").AdkConversationOptions) => import("../core/runtime").AdkConversationController;
/** UMD 场景下创建众安信科默认 openApi transport。 */
static createXGroupOpenApiTransport: ({ url, appNo, token, pageSize, onAuthError, }: import("../presets/xgroup").XGroupOpenApiTransportOptions) => import("../core/runtime").AdkChatTransport;
container: HTMLElement;
props: XAdkSDKProps;
root: any;
wrapperRef: import("react").RefObject;
onError?: (error: any) => void;
onSuccess?: (appInfo: any) => void;
onMessage?: (content: string, data: IMessage) => void;
constructor(container: HTMLElement, props: XAdkSDKProps);
mount(): void;
unmount(): void;
/**
* 初始化聊天机器人(推荐方式)
*
* @param props - SDK 配置参数
* @returns XAiWebSDK 实例
*
* @example
* ```javascript
* const sdk = XAiWebSDK.initChatbot({
* url: 'https://api.example.com',
* token: 'your-token',
* config: {
* appNo: 'your-app-no',
* session: {
* showSessionList: true // 显示会话列表
* },
* allowUpload: true, // 允许文件上传
* chatProps: {
* clearBtnShow: false // 隐藏清空按钮
* }
* },
* componentProps: {
* id: 'my-chatbot', // 容器 ID
* width: '100%',
* height: '600px'
* }
* });
* ```
*/
static initChatbot(props: XAdkSDKProps): XAiWebSDK;
/**
* 兼容旧版本的静态方法
* @deprecated 使用 initChatbot 替代
*/
static create(props: XAdkSDKProps): XAiWebSDK;
/**
* 动态更新认证 token
*
* 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。
*
* @param token - 新的认证 token
*
* @example
* ```javascript
* // 监听到 token 过期后
* const newToken = await refreshToken();
* sdk.setToken(newToken);
* ```
*/
setToken(token: string): void;
/**
* 获取当前数据(聚合方法)
* @returns 应用信息、消息列表、会话列表
*/
getData(): {
appInfo: any;
messages: IMessage[] | undefined;
sessions: any[] | undefined;
};
/**
* 获取应用信息
* @returns 应用信息
*/
getAppInfo(): any;
/**
* 获取当前会话的消息列表
* @returns 消息列表
*/
getMessages(): IMessage[] | undefined;
/**
* 获取会话列表
* @returns 会话列表
*/
getSessions(): any[] | undefined;
/**
* 设置消息列表
* @param msgs - 要设置的消息数组
*/
setMessages(msgs: IMessage[]): void;
/**
* 发送消息
* @param content - 消息内容
*
* @example
* ```javascript
* sdk.startChat({ text: 'Hello!' });
* ```
*/
startChat(content: SendContent): void;
/**
* 停止当前消息生成
*/
stopChat(): void;
/**
* 重新生成最后一条回复
*/
reChat(): void;
/**
* 清空当前会话
*/
clearChat(): void;
/**
* 切换到指定会话
* @param sessionId - 会话 ID
*/
setCurrentSession(sessionId: string): void;
/**
* 删除指定会话
* @param sessionId - 会话 ID
*/
deleteSession(sessionId: string): void;
/**
* 更新会话标题
* @param sessionId - 会话 ID
* @param title - 新标题
*/
updateSession(sessionId: string, title: string): void;
/**
* 设置自定义业务参数 (stateDelta)
* 设置后每次发送消息时会自动携带至后端
* @param delta - 自定义参数,传入 undefined 可清除
*/
setStateDelta(delta: Record | undefined): void;
}
export default XAiWebSDK;