import { type MaybeRefOrGetter } from 'vue'; import type { IRequestOptions } from '../types'; import type { IUseChatHelperOptions, RequestData } from '@blueking/chat-helper'; /** * 将外层 requestOptions(可为 ref/computed/函数)转为 chat-helper 的 requestData。 * 使用稳定 getter,每次请求时读取最新的 headers/data。 */ export declare function buildRequestDataFromOptions(urlPrefix: string, requestOptions?: MaybeRefOrGetter): IUseChatHelperOptions['requestData']; /** * 将 requestOptions.context 转为结构化数组格式(与 shortcuts property.extra.context 一致) * * 支持两种输入格式: * - Record: 简单 KV,每个 entry 转为结构化条目 * - Array>: 数组,有 __key 的条目直接透传,简单 KV 自动转换 * * 转换规则:{ key: value } → { key: value, context_type: 'input', __label: key, __key: key, __value: value } */ export declare function resolveContextEntries(context: RequestData | Array> | undefined): Array>; /** * 解析 requestOptions.context(支持 ref/computed/函数),返回结构化数组 */ export declare function resolveRequestOptionsContext(requestOptions?: MaybeRefOrGetter): Array>; /** * 将 requestOptions.context 合并到 message property 中 * * 统一处理:从 getter 获取 requestOptions → 解析 context → 合并到 property * 消除了 doSendMessage 和 handleUserShortcutConfirm 中的重复逻辑 * * @param property 原始消息 property(可能已有 shortcut context) * @param getRequestOptions 返回最新 requestOptions 的 getter * @returns 合并后的 property,无 context 时返回原 property */ export declare function applyRequestOptionsContext(property: Record | undefined, getRequestOptions?: () => IRequestOptions | undefined): Record | undefined; /** * 将 requestOptions 的 context 合并到 message property 中 * * 合并策略: * - requestOptions context 条目追加到 shortcut context 之后 * - key 冲突时(以 __key 判断),requestOptions 的条目覆盖已有的 */ export declare function mergePropertyContext(property: Record | undefined, contextEntries: Array>): Record; //# sourceMappingURL=build-request-data.d.ts.map