import type { Rule } from '../domain/Rule.js';
import { ContextFile } from '../domain/ContextFile.js';
import { Violation } from '../domain/Violation.js';
/**
 * Rule that validates code blocks within CLAUDE.md files.
 *
 * @remarks
 * This is a thin orchestrator: it extracts code blocks, applies the
 * language-agnostic checks (untyped fences, incompleteness, unmarked
 * anti-patterns), and delegates language-specific validation to per-language
 * {@link LanguageValidator} strategies resolved through a
 * {@link ValidatorRegistry}.
 */
export declare class CodeBlockRule implements Rule {
    readonly id = "code-blocks";
    readonly description = "Validates code blocks for syntax and best practices";
    private extractor;
    private enabledLanguages;
    private strictMode;
    private registry;
    constructor(options?: CodeBlockRuleOptions);
    appliesTo(file: ContextFile): boolean;
    lint(file: ContextFile): Violation[];
}
export interface CodeBlockRuleOptions {
    /** Languages to validate */
    languages?: string[];
    /** Enable strict mode checks */
    strict?: boolean;
}
//# sourceMappingURL=CodeBlockRule.d.ts.map