export type HookRuntimeHost = 'claude_code' | 'vscode'; export type HookSource = 'claude_code_hook' | 'vscode_hook'; export declare function hookRuntimeHost(): HookRuntimeHost; export declare function hookSource(host?: HookRuntimeHost): HookSource; export declare function isEditTool(toolName: string, host?: HookRuntimeHost): boolean; export declare function isShellTool(toolName: string, host?: HookRuntimeHost): boolean; export declare function isNativeGrepTool(toolName: string, host?: HookRuntimeHost): boolean; /** * Segment test, not a prefix test: an aggregator (metamcp, mcp-remote) re-exports * our tools as `mcp____mnemonik__`, and a prefix test would * classify every one of those calls as "not ours". Shared with the other host * packages so one definition answers for all of them. */ export declare function isMnemonikMcpTool(toolName: string): boolean; /** * Resolve every file an edit-style tool can touch. VS Code's multi-replace and * apply-patch tools can span files, so returning only the first path would let * an uncovered second target bypass grounding and edit tracking. */ export declare function resolveTargetFiles(_toolName: string, toolInput: Record | undefined, cwd: string, host?: HookRuntimeHost): string[]; /** Absolute paths a non-edit tool names in its arguments. */ export declare function resolveCuePaths(toolInput: Record | undefined, cwd: string): string[]; /** Does this payload carry executable text worth cueing recall on? */ export declare function hasCueCommand(toolInput: Record | undefined): boolean; export declare function isTrivialHostEdit(toolName: string, toolInput: Record | undefined, host?: HookRuntimeHost): boolean;