/** * Hook 注册表 * * P2-11: 管理所有 Hook 处理器的注册和调度 */ import type { HookHandler, HookEvent, HookContext, HookResult, PlatformOutput } from './hook-types.js'; export declare class HookRegistry { private handlers; /** * 注册 Hook 处理器 */ register(handler: HookHandler): void; /** * 获取指定事件的所有处理器 */ getHandlers(event: HookEvent): HookHandler[]; /** * 执行指定事件的所有处理器 */ execute(event: HookEvent, context: HookContext): Promise; /** * 合并多个 Hook 结果 */ mergeResults(results: HookResult[]): HookResult; /** * 格式化输出为平台特定格式 */ formatForPlatform(result: HookResult, event: HookEvent, platform: 'claude' | 'cursor' | 'copilot' | 'unknown'): PlatformOutput; } /** * 获取默认 Hook 注册表 */ export declare function getDefaultRegistry(): HookRegistry; /** * 执行 SessionStart Hook */ export declare function executeSessionStart(projectRoot: string, platform?: 'claude' | 'cursor' | 'copilot' | 'unknown'): Promise; /** * 执行 UserPromptSubmit Hook */ export declare function executeUserPromptSubmit(projectRoot: string, userInput: string, platform?: 'claude' | 'cursor' | 'copilot' | 'unknown'): Promise; /** * 执行 PreToolUse Hook */ export declare function executePreToolUse(projectRoot: string, toolName: string, toolInput?: Record, platform?: 'claude' | 'cursor' | 'copilot' | 'unknown'): Promise<{ context: string; blocked: boolean; blockReason?: string; warnings: string[]; }>; /** * 执行 PostToolUse Hook */ export declare function executePostToolUse(projectRoot: string, toolName: string, toolSuccess: boolean, toolOutput?: unknown, platform?: 'claude' | 'cursor' | 'copilot' | 'unknown'): Promise; //# sourceMappingURL=hook-registry.d.ts.map