/** * Hook discovery and validation. * * Sources, in load order: * 1. ~/.blockrun/hooks/*.json — user scope, always trusted * 2. /.franklin/hooks/*.json — project scope, loads ONLY when the * project dir is trusted (same trusted-projects.json marker that gates * project .mcp.json — one mental model for "this repo may run code"). * * Malformed files or entries warn once and are skipped; unknown event names * are ignored so config files can carry events from other harnesses or * future versions without breaking. */ import { type LoadedHook } from './types.js'; export declare function userHooksDir(): string; export declare function projectHooksDir(workDir: string): string; /** Same trust marker that gates project .mcp.json (see src/mcp/config.ts). */ export declare function isProjectTrusted(workDir: string): boolean; export declare function loadHooks(workDir: string): LoadedHook[];