/**
 * Argument Guard Gate (Gate 5)
 *
 * Runtime validation middleware derived from ADR-001 (Command Argument Semantics).
 * This gate enforces:
 *
 * 1. ID vs Natural Language argument rules
 * 2. Required argument presence
 * 3. Synthesis allow/deny per command
 * 4. Confirmation enforcement for irreversible commands
 * 5. Deterministic, instructional error messages
 *
 * The ADR (adr-command-semantics.ts) is the authoritative policy.
 * This gate is mechanically derived from it.
 */
import type { CommandObject } from '../types/index.js';
import { type CommandSpec } from '../contracts/adr-command-semantics.js';
export interface ArgumentGuardResult {
    allowed: boolean;
    exitCode?: number;
    message?: string;
    spec?: CommandSpec;
}
/**
 * Check if the given command object passes argument validation.
 * Returns a result indicating whether the command may proceed.
 */
export declare function checkArgumentGuard(cmd: CommandObject): ArgumentGuardResult;
/**
 * Enforce the argument guard. Exits the process on failure.
 * Follows the same pattern as other gates (execution-gate, auth-session-gate).
 */
export declare function enforceArgumentGuard(cmd: CommandObject): void;
/**
 * Check if a command requires argument validation.
 * Built-in commands (help, version) are exempt.
 */
export declare function requiresArgumentValidation(command: string): boolean;
//# sourceMappingURL=argument-guard.d.ts.map