import { Page } from 'playwright';
/**
 * Enhanced ARIA Analysis Results
 */
export interface AriaAnalysisResults {
    totalAriaElements: number;
    validAriaUsage: number;
    invalidAriaUsage: number;
    ariaLabelIssues: number;
    ariaDescribedByIssues: number;
    ariaRequiredIssues: number;
    ariaMultilineIssues: number;
    roleIssues: number;
    landmarkRoles: string[];
    interactiveRoles: string[];
    impactBreakdown: {
        critical: number;
        serious: number;
        moderate: number;
        minor: number;
    };
    ariaScore: number;
    enhancedFeatures: {
        permissiveAriaHandling: boolean;
        descendantLabeling: boolean;
        modernAriaSupport: boolean;
    };
    recommendations: string[];
}
/**
 * ARIA Impact Levels (aligned with axe-core v4.10)
 */
export declare enum AriaImpactLevel {
    CRITICAL = "critical",
    SERIOUS = "serious",
    MODERATE = "moderate",
    MINOR = "minor"
}
/**
 * Enhanced ARIA Rules Analyzer
 * Leverages axe-core v4.10 improved ARIA attribute support
 */
export declare class AriaRulesAnalyzer {
    /**
     * Analyze ARIA usage on a page with enhanced axe-core v4.10 features
     */
    analyzeAriaUsage(page: Page): Promise<AriaAnalysisResults>;
    /**
     * Analyze individual element ARIA usage (runs in browser context)
     */
    private analyzeElementAria;
    /**
     * Analyze landmark roles usage
     */
    private analyzeLandmarkRoles;
    /**
     * Analyze interactive roles usage
     */
    private analyzeInteractiveRoles;
    /**
     * Detect enhanced ARIA features support (axe-core v4.10)
     */
    private detectEnhancedAriaFeatures;
    /**
     * Calculate overall ARIA score (0-100)
     */
    private calculateAriaScore;
    /**
     * Generate enhanced ARIA recommendations
     */
    private generateAriaRecommendations;
    /**
     * Get default ARIA analysis in case of errors
     */
    private getDefaultAriaAnalysis;
    /**
     * Get human-readable impact level description
     */
    getImpactDescription(level: AriaImpactLevel): string;
    /**
     * Check if page has comprehensive ARIA implementation
     */
    hasComprehensiveAria(analysis: AriaAnalysisResults): boolean;
}
//# sourceMappingURL=aria-rules-analyzer.d.ts.map