import type { HookScope } from '../ide/shared/safe-path.js'; import type { HookRemoveResult, HookStatus, HookTarget } from './hooks-settings-types.js'; /** The uninstall envelope; a `localPath` is reported only when it is a distinct file. */ export declare function removedResult(scope: HookScope, settingsPath: string, localPath: string | undefined, removed: boolean): HookRemoveResult; /** * Strip every peaks-managed row from one target's file and write it back. * * The deny-list helpers run only on the SHARED settings file (the one that * carries the committed `permissions.deny` block); the machine-local file * carries hook entries plus, for Claude Code, the gate exemptions. */ export declare function applyRemovalToTarget(target: HookTarget, sentinels: ReadonlyArray, isSharedFile: boolean): boolean; /** * The status envelope for an IDE that can never carry a peaks hook: the query * ran, the disk was read, and the honest reply is "nothing, and nothing ever * will be". */ export declare function unsupportedHookStatus(scope: HookScope, settingsPath: string, localPath: string | undefined): HookStatus; /** The status envelope for a set of resolved targets. */ export declare function hookStatusFromTargets(scope: HookScope, settingsPath: string, targets: ReadonlyArray): HookStatus;