/**
 * PersonalPageTool.ts — 个人页面数据存取工具（供 CopilotTools 注册为 'personalPage' 分类）
 *
 * 封装 sdk.personalPageStore，向 LLM 暴露两个工具函数：
 * - `personal_page_load`：按 pageName/key 读取持久化数据
 * - `personal_page_save`：按 pageName/key 写入持久化数据
 *
 * 数据层级：`[Root] → [Category (pageName)] → [Property (key)]`
 */
/** 工具函数定义（OpenAI Function Calling 格式） */
export interface ToolDefinition {
    type: 'function';
    function: {
        name: string;
        description: string;
        parameters: Record<string, unknown>;
    };
}
/** PersonalPageTool 运行时配置 */
export interface PersonalPageToolConfig {
    /** 页面名称前缀（从 config 或 args 中取） */
    pageName?: string;
    /** key 前缀 */
    key?: string;
    [key: string]: unknown;
}
/** SDK 最小接口 */
interface SDKRef {
    personalPageStore?: {
        loadPageData(pageName: string, key?: string): Promise<unknown>;
        savePageData(pageName: string, key: string | undefined, data: unknown, bForceFlush?: boolean): Promise<void>;
    };
}
declare class PersonalPageTool {
    /** LLM 可见的工具定义列表 */
    static readonly definitions: ToolDefinition[];
    private sdk;
    private config;
    constructor(sdk: SDKRef);
    /** 更新工具运行时配置（由 CopilotTools.setToolConfig 调用）。 */
    setConfig(config: PersonalPageToolConfig): void;
    /**
     * 执行个人页面工具操作。
     *
     * @param name   - 工具名（'personal_page_load' | 'personal_page_save'）
     * @param args   - 工具参数
     * @param config - 运行时配置（含 pageName / key 前缀）
     */
    execute(name: string, args?: {
        pageName?: string;
        key?: string;
        data?: unknown;
        bForceFlush?: boolean;
    }, config?: PersonalPageToolConfig): Promise<string>;
}
export default PersonalPageTool;
//# sourceMappingURL=PersonalPageTool.d.ts.map