/** * What can be known, from outside a Claude Code session, about whether the * ruflo mod will load and what it will own (ADR-404). Every finding names its * source; nothing here claims a live load it did not see. The one direct * evidence of a load is the heartbeat the mod writes at session start. */ import { type ClaudeInstall } from './claude-installs.js'; import { type ReadFs } from './plugin-resolve.js'; export declare const HANDSHAKE_MARKER = "RUFLO_MODS_OWNS"; export declare const HEARTBEAT_RELATIVE: string; export type Status = 'pass' | 'warn' | 'fail'; export interface Finding { name: string; status: Status; message: string; fix?: string; } /** Managed settings, where an organization sets sec-default's options. */ export declare function managedSettingsPath(os?: NodeJS.Platform): string; export interface ProbeInputs { projectRoot: string; home?: string; env?: NodeJS.ProcessEnv; managedPath?: string; /** Claude Code binaries on PATH; discovered (each `--version` run) when absent. */ installs?: ClaudeInstall[]; /** Claude Code's config directory; CLAUDE_CONFIG_DIR, else ~/.claude, when absent. */ configDir?: string; /** Reads for the plugin-resolution findings; the real filesystem when absent. */ fs?: ReadFs; } declare const LEGACY_EVENTS: { readonly route: "UserPromptSubmit"; readonly 'post-edit': "PostToolUse"; }; /** Which of route/post-edit the settings run through the CLI's own `hooks` command, in any of the files. */ export declare function legacyCliHooks(files: readonly string[]): Array; export declare function probeMods(inputs: ProbeInputs): Finding[]; export {}; //# sourceMappingURL=probe.d.ts.map