/**
 * WCAG Accessibility Scoring Engine
 * Comprehensive accessibility assessment for data visualizations
 *
 * Features:
 * - WCAG 2.1 compliance scoring (A, AA, AAA levels)
 * - Color accessibility analysis including contrast ratios
 * - Keyboard navigation assessment
 * - Screen reader compatibility scoring
 * - Motor impairment considerations
 * - Cognitive accessibility evaluation
 */
import { ChartType, AccessibilityLevel, ComplexityLevel } from '../types';
import type { AccessibilityGuidance, AccessibilityAssessment } from '../types';
export interface WCAGAssessmentInput {
    chartType: ChartType;
    colorScheme: {
        colors: string[];
        backgroundColor?: string;
        type: 'categorical' | 'sequential' | 'diverging' | 'single';
    };
    interactivity: {
        hasKeyboardSupport: boolean;
        hasTooltips: boolean;
        hasZoom: boolean;
        hasFocus: boolean;
    };
    content: {
        hasAlternativeText: boolean;
        hasDataTable: boolean;
        hasAriaLabels: boolean;
        textSize: number;
        contrast: 'auto' | 'manual';
    };
    complexity: ComplexityLevel;
    dataSize: number;
}
export interface AccessibilityScore {
    overallScore: number;
    level: AccessibilityLevel;
    wcagLevel: 'A' | 'AA' | 'AAA';
    breakdown: {
        perceivable: number;
        operable: number;
        understandable: number;
        robust: number;
    };
}
export declare class WCAGAccessibilityEngine {
    private static readonly WCAG_CRITERIA;
    /**
     * Assess comprehensive accessibility for a visualization
     */
    static assessAccessibility(input: WCAGAssessmentInput): AccessibilityAssessment;
    /**
     * Generate detailed accessibility guidance for a specific chart type
     */
    static generateAccessibilityGuidance(chartType: ChartType, input?: Partial<WCAGAssessmentInput>): AccessibilityGuidance;
    /**
     * Evaluate WCAG compliance across all criteria
     */
    private static evaluateWCAGCompliance;
    /**
     * Evaluate individual WCAG criterion
     */
    private static evaluateCriterion;
    /**
     * Calculate comprehensive accessibility score
     */
    private static calculateAccessibilityScore;
    /**
     * Calculate Perceivable principle score (40% of total)
     */
    private static calculatePerceivableScore;
    /**
     * Calculate Operable principle score (30% of total)
     */
    private static calculateOperableScore;
    /**
     * Calculate Understandable principle score (20% of total)
     */
    private static calculateUnderstandableScore;
    /**
     * Calculate Robust principle score (10% of total)
     */
    private static calculateRobustScore;
    /**
     * Assess color blindness support
     */
    private static assessColorBlindnessSupport;
    /**
     * Assess motor impairment support
     */
    private static assessMotorImpairmentSupport;
    /**
     * Assess cognitive accessibility support
     */
    private static assessCognitiveAccessibility;
    /**
     * Generate accessibility recommendations
     */
    private static generateRecommendations;
    private static evaluateMinimumContrast;
    private static evaluateEnhancedContrast;
    private static evaluateNonTextContrast;
    private static calculateContrastRatio;
    private static getRelativeLuminance;
    private static hexToRgb;
    private static simulateColorBlindness;
    private static areColorsDistinguishable;
    private static areColorsDistinguishableInGrayscale;
    private static getAlternativeEncodings;
    private static calculateContrastScore;
    private static calculateColorBlindScore;
    private static reliesOnlyOnColor;
    private static hasAlternativeEncoding;
    private static hasBasicKeyboardSupport;
    private static calculateTargetSizeScore;
    private static hasTimingRequirements;
    private static calculateContentClarityScore;
    private static hasPredictableBehavior;
    private static calculateErrorPreventionScore;
    private static calculateATCompatibilityScore;
    private static hasLargeClickTargets;
    private static hasCustomControls;
    private static supportsProgressiveDisclosure;
    private static calculateCognitiveLoad;
    private static getErrorPreventionStrategies;
    private static getChartSpecificRecommendations;
    private static scoreToAccessibilityLevel;
    private static determineComplianceLevel;
    private static identifyComplianceGaps;
    private static describeIssue;
    private static describeSolution;
    private static determinePriority;
    private static generateImprovements;
    private static calculateTestCoverage;
    private static generateManualTestChecklist;
    private static generateUserTestScenarios;
    assessWCAGCompliance(input: any): any;
    validateTextAlternatives(input: any): any;
    assessKeyboardAccessibility(input: any): any;
    calculateContrastRatios(input: any): any;
    assessColorVisionAccessibility(input: any): any;
    private calculateOverallScore;
    private getGuidelinePrinciple;
    private generateViolations;
    private generateAltTextSuggestions;
    private assessDescriptionQuality;
    generateColorBlindFriendlyPalette(input: any): any;
    validateColorUsage(input: any): any;
    generateDataTable(input: any): any;
    generateSonification(input: any): any;
    generateTactileRepresentation(input: any): any;
    generateVerbalDescription(input: any): any;
    performComprehensiveAudit(input: any): any;
    runAutomatedTests(input: any): any;
    generateTestingChecklist(input: any): any;
    validateWithAssistiveTech(input: any): any;
    generateAccessibilityReport(input: any): any;
    optimizeAccessibilityPerformance(input: any): any;
    generateDevelopmentIntegration(input: any): any;
    generateARIAMarkup(input: any): any;
    generateTableNavigation(input: any): any;
    generateVoiceControl(input: any): any;
    generateSwitchSupport(input: any): any;
}
//# sourceMappingURL=wcag-accessibility-engine.d.ts.map