import type { Rule } from '../domain/Rule.js';
import { ContextFile } from '../domain/ContextFile.js';
import { Violation } from '../domain/Violation.js';
/**
 * Rule that validates bash command safety in CLAUDE.md
 *
 * @remarks
 * Validates that bash commands:
 * - Avoid dangerous operations (rm -rf, sudo without context)
 * - Include proper error handling
 * - Use safe patterns (quotes, error checks)
 * - Follow Anthropic's safety recommendations
 *
 * @see {@link https://www.anthropic.com/engineering/claude-code-best-practices | Claude Code Best Practices}
 *
 * @category Rules
 */
export declare class CommandSafetyRule implements Rule {
    readonly id = "command-safety";
    readonly description = "Validates safety of bash commands in CLAUDE.md files";
    private readonly extractor;
    constructor();
    lint(file: ContextFile): Violation[];
    /**
     * Check for dangerous commands
     */
    private checkDangerousCommands;
    /**
     * Detect an `rm` invocation that is both recursive (-r/-R/--recursive) and
     * forced (-f/--force), regardless of flag order or short/long form.
     */
    private isRecursiveForcedRm;
    /**
     * Detect a root-path argument (e.g. `/`, `/usr`, `/etc`) while allowing the
     * conventional temp directories `/tmp` and `/var/tmp`.
     */
    private targetsRootPath;
    /**
     * Check error handling
     */
    private checkErrorHandling;
    /**
     * Check variable quoting
     */
    private checkQuoting;
    /**
     * Check sudo usage
     */
    private checkSudoUsage;
}
//# sourceMappingURL=CommandSafetyRule.d.ts.map