/** * Git hook installer (Phase 3) — re-verify memory on every pull/checkout/merge * so agents never see a stale green checkmark. * * Also installs a post-commit CAPTURE hook: each new commit is mined for * memory-worthy signals (decisions, gotchas, failed approaches). Candidates go * to the proposal queue and the committer gets a gentle nudge to review — * capture stays human-gated, it just stops depending on humans remembering * to run `dim mine`. * * Hooks are additive: if a hook already exists without our marker, we append; * existing logic is never clobbered. */ export declare const HOOK_MARKER = "# >>> aidimag verify hook >>>"; export declare const CAPTURE_HOOK_MARKER = "# >>> aidimag capture hook >>>"; export declare const BRANCH_HOOK_MARKER = "# >>> aidimag branch hook >>>"; export declare const PRECOMMIT_HOOK_MARKER = "# >>> aidimag check hook >>>"; export declare const KNOWLEDGE_HOOK_MARKER = "# >>> aidimag knowledge hook >>>"; export declare const ALL_HOOK_NAMES: readonly ["post-merge", "post-checkout", "post-rewrite", "post-commit", "pre-push", "pre-commit", "post-merge"]; export interface HookInstallResult { installed: string[]; alreadyPresent: string[]; skipped: string[]; } export declare function installGitHooks(repoRoot: string): HookInstallResult; export interface HookUninstallResult { removed: string[]; notPresent: string[]; } /** Strip aidimag-managed blocks from git hooks. Empty hooks are left in place so the * user keeps any custom logic they added; only files that become pure boilerplate * (only shebang + whitespace after removal) are deleted. */ export declare function uninstallGitHooks(repoRoot: string): HookUninstallResult;