//#region src/hooks/types.d.ts type HookInstallSpec = { id?: string; kind: "bundled" | "npm" | "git"; label?: string; package?: string; repository?: string; bins?: string[]; }; type KlawHookMetadata = { always?: boolean; hookKey?: string; emoji?: string; homepage?: string; /** Events this hook handles (e.g., ["command:new", "session:start"]) */ events: string[]; /** Optional export name (default: "default") */ export?: string; os?: string[]; requires?: { bins?: string[]; anyBins?: string[]; env?: string[]; config?: string[]; }; install?: HookInstallSpec[]; }; type HookInvocationPolicy = { enabled: boolean; }; type ParsedHookFrontmatter = Record; type Hook = { name: string; description: string; source: "klaw-bundled" | "klaw-managed" | "klaw-workspace" | "klaw-plugin"; pluginId?: string; filePath: string; baseDir: string; handlerPath: string; }; type HookEntry = { hook: Hook; frontmatter: ParsedHookFrontmatter; metadata?: KlawHookMetadata; invocation?: HookInvocationPolicy; }; //#endregion export { HookEntry as t };