/**
 * Flywheel doctor probes — callable functions for `olam doctor` to consume.
 *
 * Deliberately separated from `packages/cli/src/commands/doctor.ts` so the
 * probe logic can land + be tested without touching the 945-line doctor's
 * D11 positional-contract churn. doctor.ts wiring is a focused follow-up;
 * the probe functions here are the deliverable.
 *
 * Probes:
 *   - `probeFlywheelShimHealth()` — verifies every registered shim target
 *     (per @olam/cli/lib/shim-generator SHIM_SPECS) exists at
 *     `~/.claude/scripts/<basename>` AND is the olam-generated form
 *     (contains the AUTO-GENERATED marker). Returns the probe result + a
 *     per-target breakdown.
 *
 *   - `probeSettingsHooksAudit()` — closes K1 OQ9. Scans
 *     `~/.claude/settings.json` for hook entries (PreToolUse / PostToolUse /
 *     Stop / SessionStart) that reference hardcoded `~/.claude/scripts/<n>`
 *     paths AND warns if the basename matches a shim-target that has a
 *     `replacedBy` migration path.
 *
 * Plan reference: docs/plans/olam-flywheel-cli-namespace/phase-b-tasks.md § B4 + B6
 */
export interface ProbeResult {
    ok: boolean;
    warn: boolean;
    message: string;
}
export interface ShimHealthDetail {
    basename: string;
    path: string;
    status: 'OK' | 'MISSING' | 'STALE' | 'OPERATOR-FILE';
}
export interface ShimHealthResult extends ProbeResult {
    details: ShimHealthDetail[];
    okCount: number;
    missingCount: number;
    staleCount: number;
    operatorFileCount: number;
}
export interface ShimHealthOpts {
    scriptsDir?: string;
}
export declare function probeFlywheelShimHealth(opts?: ShimHealthOpts): ShimHealthResult;
export interface SettingsHookEntry {
    block: 'PreToolUse' | 'PostToolUse' | 'Stop' | 'SessionStart' | 'UserPromptSubmit';
    command: string;
    matchedShimBasename?: string;
    suggestedReplacement?: string;
}
export interface SettingsHooksAuditResult extends ProbeResult {
    findings: SettingsHookEntry[];
}
export interface SettingsHooksAuditOpts {
    settingsPath?: string;
}
export declare function probeSettingsHooksAudit(opts?: SettingsHooksAuditOpts): SettingsHooksAuditResult;
//# sourceMappingURL=flywheel-probes.d.ts.map