/** The two events the board loop needs, and the flag each one passes. */ export declare const BOARD_HOOKS: ReadonlyArray<{ event: string; mode: 'claim' | 'close'; }>; /** * The command Claude Code runs for one half of the loop. * * Both paths are quoted because either can contain a space — a Windows home * directory ("C:\\Users\\First Last") reaches here, and an unquoted command * splits at it. */ export declare function boardHookCommand(execPath: string, cliEntry: string, mode: 'claim' | 'close'): string; /** * True when this hooks.json entry is one of ours. * * It answers for two shapes. The first is the CLI command above. The second is * `chat_recall_task_hook.sh`, a wrapper that shipped briefly and did nothing * but pipe stdin to that same command — a registration pointing at it survives * an upgrade, and the script it names is gone, so it must be recognised to be * cleaned up. */ export declare function isBoardHookEntry(entry: unknown): boolean; /** The `[event, entry]` pairs for a hooks.json. */ export declare function boardHookEntries(execPath: string, cliEntry: string): Array<[string, { matcher: string; hooks: Array<{ type: string; command: string; }>; }]>; /** * Merge the board hooks into one already-parsed hooks.json object. * * Every prior entry of ours is dropped first, so a reinstall after an upgrade * replaces a stale bundle path instead of stacking a second registration. * Entries that are not ours are untouched: a profile carries the resume hint on * the same event. */ export declare function mergeBoardHooks(config: { hooks?: Record; }, execPath: string, cliEntry: string): void; /** Drop the board hooks from one already-parsed hooks.json object. */ export declare function removeBoardHooks(config: { hooks?: Record; }): number; /** * Register the board hooks in every given hooks.json. * * Returns the files it wrote. A file it cannot parse is skipped rather than * overwritten: another tool's config is not ours to replace. */ export declare function registerBoardHooks(files: string[], execPath: string, cliEntry: string): string[]; /** Resolve the CLI entry that a hook should run. */ export declare function resolveCliEntry(distDir: string): string; //# sourceMappingURL=board-hooks.d.ts.map