import type { AuditContext, AuditFailure } from "./types.js";
/** A bash-spawn failure surfaced as an audit result: the user-facing message and
 * the remediation hint, kept separate from a hook's own non-zero exit. */
interface SpawnFailure {
    message: string;
    howToFix: string;
}
/**
 * Translate a spawn-level errno (EPERM/ENOENT/ETIMEDOUT) into a {@link SpawnFailure}
 * with actionable remediation, distinguishing "bash could not run" from "the hook
 * ran and reported a failure".
 *
 * @param error - The error thrown/returned by the spawn attempt.
 * @param action - Short description of what was being spawned, for the message.
 * @returns A {@link SpawnFailure} for known spawn errnos, or `null` when the error
 *   is not a recognised spawn failure (i.e. the command actually ran).
 */
export declare function spawnFailureFor(error: unknown, action: string): SpawnFailure | null;
/**
 * Decide whether a thrown `execFileSync` error nonetheless reports a clean exit
 * (`status === 0`), which `execFileSync` can do when it throws on stderr output.
 *
 * @param error - The error thrown by `execFileSync`.
 * @returns `true` when the underlying command exited 0 despite the throw.
 */
export declare function commandCompletedSuccessfully(error: unknown): boolean;
/**
 * Audit evidence paths are user-visible in text/markdown/JSON output. Force
 * forward slashes so Windows and POSIX agree on the rendered shape.
 *
 * @param relPath - Repo-relative path that may carry Windows separators.
 * @returns The same path with every backslash rendered as a forward slash.
 */
export declare function evidencePath(relPath: string): string;
/**
 * Run a runtime-shaped blocked payload because configured commands and direct
 * hooks fail differently.
 *
 * @param ctx - Audit context carrying agent facts, project path, and the audit FS.
 * @returns The first runtime-smoke failure across agents, or `null` when all pass.
 */
export declare function checkHookRuntimeSmoke(ctx: AuditContext): AuditFailure | null;
export {};
//# sourceMappingURL=check-agent-deny-runtime.d.ts.map