export declare const PROJECT_HOOKS_SCHEMA: "ztrack.project-hooks.v1"; export declare const PROJECT_HOOK_EVENT: "project:invoke"; export interface ProjectHook { id: string; event: typeof PROJECT_HOOK_EVENT; executable: string; args: string[]; timeoutMs: number; } export interface ProjectHookRegistry { schema: typeof PROJECT_HOOKS_SCHEMA; hooks: ProjectHook[]; } export interface ProjectHookRunResult { attempted: number; warnings: string[]; } /** Machine-local registry shared by every worktree of one clone. */ export declare function projectHookRegistryPath(projectRoot: string): string; export declare function readProjectHooks(projectRoot: string): ProjectHookRegistry; export declare function registerProjectHook(projectRoot: string, hook: ProjectHook): 'registered' | 'updated'; export declare function removeProjectHook(projectRoot: string, id: string): boolean; /** * Invoke explicit machine-local hooks without a shell. Hook failures are returned as warnings: * an optional integration must never change the ztrack command's result. */ export declare function runProjectHooks(projectRoot: string, commandArgs: string[], event?: typeof PROJECT_HOOK_EVENT): ProjectHookRunResult; export declare function shouldRunProjectHooks(args: string[]): boolean; export declare function handleProjectHooksCommand(args: string[], projectRoot: string, command?: string): boolean;