export interface HookOptions { /** The repository's top folder. Defaults to `$CLAUDE_PROJECT_DIR`, then the tool call's `cwd`. */ root?: string; /** The folder that holds the app, relative to `root`: `.` unless it sits in a folder of its own. */ app?: string; /** `package` gates `.tsx` only, as this package's inward lint does. */ audience?: 'app' | 'package'; /** The hook's input, when not read from stdin (tests). */ input?: unknown; /** Where a session's searches are remembered. Defaults to a folder in the system's temp. */ seen?: string; } export interface HookResult { /** 0 lets the write through; 2 refuses it. */ code: 0 | 2; /** What goes to stderr when refused. */ message: string; /** A note for Claude on a write let through: a copied look, which only warns. */ note?: string; } export declare function runHook({ root, app, audience, input, seen }?: HookOptions): Promise; /** The part a Write would add in a new file, or null: a capitalised export, in a file that draws. */ export declare function newPart(tool: string | undefined, file: string, text: string): string | null; /** `PanelHeader` → `panel header`: the words the search is asked. */ export declare const wordsOf: (name: string) => string; //# sourceMappingURL=hook.d.ts.map