/** * Conversion template for skill-to-hook conversion. * Generates POSIX shell scripts and pack manifests for converted hooks. */ import type { HookPackManifest } from '../registry.js'; /** Supported Claude Code hook events */ export type HookEvent = 'PreToolUse' | 'PostToolUse' | 'PreCompact' | 'Notification' | 'Stop'; /** Action levels for graduated enforcement */ export type ActionLevel = 'remind' | 'warn' | 'block'; /** Configuration for generating a converted hook */ export interface HookConversionConfig { /** Hook pack name (kebab-case) */ name: string; /** Claude Code hook event to trigger on */ event: HookEvent; /** Tool name matcher (e.g., 'Write|Edit', 'Bash') — only for PreToolUse/PostToolUse */ toolMatcher?: string; filePatterns?: string[]; /** Action level: remind (default), warn, or block */ action: ActionLevel; /** Context message to inject when the hook fires */ message: string; /** Optional description for the pack */ description?: string; } export declare const HOOK_EVENTS: HookEvent[]; export declare const ACTION_LEVELS: ActionLevel[]; /** * Generate a POSIX shell script for a converted hook. * Reads JSON from stdin, matches tool/file patterns, outputs action JSON. */ export declare function generateHookScript(config: HookConversionConfig): string; /** * Generate a HookPackManifest for a converted hook. */ export declare function generateManifest(config: HookConversionConfig): HookPackManifest;