import { type HookEntry } from '../../store/hook-registry.js'; interface ClaudeCommandHook { type: 'command'; command: string; timeout?: number; } interface ClaudeMatcherGroup { matcher?: string; hooks: ClaudeCommandHook[]; } type ClaudeHooksSettings = Record; export declare function buildPreToolUseHooks(toolsList: string[]): ClaudeMatcherGroup[]; export declare const POST_TOOL_USE_HOOKS: { matcher: string; hooks: ClaudeCommandHook[]; }[]; export declare const PERMISSION_REQUEST_HOOKS: { matcher: string; hooks: { type: "command"; command: string; timeout: number; }[]; }[]; export declare const SESSION_START_HOOKS: { matcher: string; hooks: ClaudeCommandHook[]; }[]; /** * The Claude settings event an entry compiles to, or null when Claude has no mount point for it. * Only three of the seven `agent:*` events map; the rest reach PI only and must be declared as * `cc:*` to hook Claude. Exported so the UI can surface that asymmetry instead of failing silently. */ export declare function claudeEventName(event: HookEntry['event']): string | null; export declare function buildHooksSettings(tools: string | null): ClaudeHooksSettings; export {};