/**
 * Accessibility rule definitions using the rule-based system
 * Each rule contains metadata and validation logic
 */
import { A11yRule } from "../types/accessibilityTypes";
export declare const A11Y_RULES: Record<string, A11yRule>;
export declare const RULE_CATEGORIES: {
    readonly IMAGES: readonly ["img-alt", "img-alt-meaningful"];
    readonly FORMS: readonly ["input-label", "fieldset-legend"];
    readonly INTERACTIVE: readonly ["button-text", "link-text", "link-text-descriptive", "interactive-role"];
    readonly ARIA: readonly ["aria-role-valid", "aria-hidden-value", "aria-expanded-value", "aria-empty-value"];
    readonly STRUCTURE: readonly ["html-lang", "heading-hierarchy-start", "heading-hierarchy-skip", "duplicate-id"];
};
export declare const WCAG_LEVELS: {
    readonly A: readonly ["img-alt", "img-alt-meaningful", "input-label", "fieldset-legend", "button-text", "link-text", "interactive-role", "aria-role-valid", "aria-hidden-value", "aria-expanded-value", "aria-empty-value", "html-lang", "duplicate-id"];
    readonly AA: readonly ["link-text-descriptive", "heading-hierarchy-start", "heading-hierarchy-skip"];
    readonly AAA: readonly [];
};
export declare const SEVERITY_LEVELS: {
    readonly error: readonly ["img-alt", "input-label", "button-text", "link-text", "aria-role-valid", "aria-hidden-value", "aria-expanded-value", "html-lang", "duplicate-id"];
    readonly warning: readonly ["img-alt-meaningful", "fieldset-legend", "link-text-descriptive", "interactive-role", "aria-empty-value", "heading-hierarchy-start", "heading-hierarchy-skip"];
    readonly info: readonly [];
};
export declare const MULTI_ELEMENT_RULES: readonly ["heading-hierarchy-start", "heading-hierarchy-skip", "duplicate-id"];
export declare class A11yRuleManager {
    /**
     * Get all rules for a specific WCAG level
     */
    static getRulesByWCAGLevel(level: "A" | "AA" | "AAA"): A11yRule[];
    /**
     * Get all rules for a specific severity level
     */
    static getRulesBySeverity(severity: "error" | "warning" | "info"): A11yRule[];
    /**
     * Get all rules in a specific category
     */
    static getRulesByCategory(category: keyof typeof RULE_CATEGORIES): A11yRule[];
    /**
     * Get all rule IDs
     */
    static getAllRuleIds(): string[];
    /**
     * Check if a rule requires multi-element validation
     */
    static isMultiElementRule(ruleId: string): boolean;
    /**
     * Get rules that apply to a specific element tag
     */
    static getRulesForElement(tagName: string): A11yRule[];
    /**
     * Get rules that check for specific props
     */
    static getRulesForProps(props: string[]): A11yRule[];
}
