import { ActionRegistry, ActionModel } from './views'; import { ProductTelemetry } from '../../telemetry/service'; import { BrowserContext } from '../../browser/context'; import z from 'zod'; /** * 动作处理函数类型 */ type ActionHandler = (...args: any[]) => Promise; /** * 动作注册器类 * 管理所有可用的动作及其处理函数 */ export declare class Registry { registry: ActionRegistry; telemetry: ProductTelemetry; excludeActions: string[]; /** * 创建Registry实例 * @param excludeActions 要排除的动作列表 */ constructor(excludeActions?: string[]); /** * 注册动作 * @param description 动作描述 * @param paramModel 参数模型 */ action(description: string, name: string, paramModel: any, schema: z.ZodSchema): (target: ActionHandler) => ActionHandler; /** * 执行注册的动作 * @param actionName 动作名称 * @param params 参数对象 * @param browser 浏览器上下文(可选) * @param pageExtractionLlm 页面提取LLM(可选) * @param sensitiveData 敏感数据(可选) * @param availableFilePaths 可用文件路径(可选) */ executeAction(actionName: string, params: any, browser?: BrowserContext, pageExtractionLlm?: any, sensitiveData?: Record, availableFilePaths?: string[]): Promise; /** * 验证参数 * @param params 参数对象 * @param model 参数模型 */ private validateParams; /** * 替换敏感数据 * @param params 参数对象 * @param sensitiveData 敏感数据映射 */ private replaceSensitiveData; createActionModel(): typeof ActionModel; createActionModelSchema(): any; /** * 获取提示描述 * 用于生成LLM提示中的动作描述部分 */ getPromptDescription(): string; } export {};