import React from "react"; import type { XAdkProviderProps, XAdkProviderHandle, XAdkProviderConfig } from "../../types/XAdkProvider"; import type { ChatHookResult } from "../../types/ChatHook"; /** * XAdkProvider Props (扩展版) * * 支持两种使用方式: * 1. 标准协议: 提供 url/token/config,使用内置 useADKChat * 2. 自定义协议: 提供 chatData,使用自己的 Hook */ export interface XAdkProviderPropsExtended extends Omit { /** * 选项 A: 使用标准协议 (内置 useADKChat) */ url?: string; token: string; config?: XAdkProviderConfig; /** * 选项 B: 使用自定义 Hook 数据 * 如果提供此参数,将忽略 url/token/config * * @example * // GraphQL 协议 * const chatData = useMyGraphQLChat({ endpoint: '...' }); * * * * * @example * // WebSocket 协议 * const chatData = useWebSocketChat({ url: 'ws://...' }); * * * */ chatData?: ChatHookResult; children: React.ReactNode; } import Header from "./compound/Header"; import Sidebar from "./compound/Sidebar"; import Messages from "./compound/Messages"; import Sender from "./compound/Sender"; import Chatbot from "./compound/Chatbot"; import Welcome from "./compound/Welcome"; import DefaultLayout from "./compound/DefaultLayout"; declare const XAdkProvider: React.ForwardRefExoticComponent> & { Header: typeof Header; Sidebar: typeof Sidebar; Messages: typeof Messages; Sender: typeof Sender; Chatbot: typeof Chatbot; Welcome: typeof Welcome; DefaultLayout: typeof DefaultLayout; }; export default XAdkProvider;