import { EventEmitter } from 'events';
import { A as AccessibilityConfig, a as AccessibilityAudit } from './index-C9qyHjXw.mjs';
export { b as ARIAAttribute, c as ARIARole, e as AccessibilityTestResult, d as AccessibilityViolation, C as ColorContrast, F as FocusConfig, f as FocusInfo, K as KeyboardNavigation, L as LiveRegion, g as ScreenReaderAnnouncement, S as ScreenReaderConfig, h as SemanticElement, T as TestingConfig } from './index-C9qyHjXw.mjs';
export { ARIAManager } from './aria/index.mjs';
export { FocusManager } from './focus/index.mjs';
export { ScreenReaderManager } from './screen-reader/index.mjs';
export { TestingManager } from './testing/index.mjs';

/**
 * @fileoverview OrdoJS Accessibility - Accessibility Manager
 *
 * Central manager for coordinating all accessibility functionality.
 */

/**
 * Accessibility manager for coordinating all accessibility functionality
 */
declare class AccessibilityManager extends EventEmitter {
    private config;
    private isInitialized;
    private auditResults;
    private violations;
    /**
     * Create a new AccessibilityManager instance
     *
     * @param config - Accessibility configuration
     */
    constructor(config?: Partial<AccessibilityConfig>);
    /**
     * Initialize the accessibility system
     */
    initialize(): Promise<void>;
    /**
     * Run accessibility audit
     *
     * @param url - URL to audit
     * @param options - Audit options
     * @returns Audit result
     */
    runAudit(url: string, options?: {
        level?: 'A' | 'AA' | 'AAA';
        rules?: string[];
        ignoreRules?: string[];
        timeout?: number;
    }): Promise<AccessibilityAudit>;
    /**
     * Generate ARIA attributes for an element
     *
     * @param element - Element to generate ARIA for
     * @param context - Element context
     * @returns Generated ARIA attributes
     */
    generateARIA(element: string, context?: {
        role?: string;
        label?: string;
        description?: string;
        state?: Record<string, any>;
        properties?: Record<string, any>;
    }): Record<string, string>;
    /**
     * Check color contrast
     *
     * @param foreground - Foreground color
     * @param background - Background color
     * @returns Color contrast information
     */
    checkColorContrast(foreground: string, background: string): {
        ratio: number;
        wcagAA: boolean;
        wcagAAA: boolean;
        largeText: boolean;
        uiComponent: boolean;
        suggestions: string[];
    };
    /**
     * Generate semantic HTML
     *
     * @param content - Content to make semantic
     * @param options - Semantic options
     * @returns Semantic HTML
     */
    generateSemanticHTML(content: string, options?: {
        headingLevel?: number;
        listType?: 'ul' | 'ol';
        tableHeaders?: string[];
        formLabels?: Record<string, string>;
    }): string;
    /**
     * Get accessibility statistics
     *
     * @returns Statistics
     */
    getStats(): {
        totalAudits: number;
        totalViolations: number;
        averageScore: number;
        complianceRate: number;
        config: AccessibilityConfig;
    };
    /**
     * Update accessibility configuration
     *
     * @param newConfig - New configuration
     */
    updateConfig(newConfig: Partial<AccessibilityConfig>): void;
    /**
     * Get audit result by ID
     *
     * @param auditId - Audit ID
     * @returns Audit result or undefined
     */
    getAuditResult(auditId: string): AccessibilityAudit | undefined;
    /**
     * Get all audit results
     *
     * @returns Array of audit results
     */
    getAllAuditResults(): AccessibilityAudit[];
    /**
     * Clear audit results
     */
    clearAuditResults(): void;
    /**
     * Initialize ARIA system
     */
    private initializeARIA;
    /**
     * Initialize testing system
     */
    private initializeTesting;
    /**
     * Initialize focus management
     */
    private initializeFocusManagement;
    /**
     * Initialize screen reader support
     */
    private initializeScreenReader;
    /**
     * Run accessibility tests
     *
     * @param url - URL to test
     * @param options - Test options
     * @returns Test results
     */
    private runAccessibilityTests;
    /**
     * Check if violations are compliant with WCAG level
     *
     * @param violations - Violations to check
     * @param level - WCAG level
     * @returns True if compliant
     */
    private isCompliant;
    /**
     * Create audit summary
     *
     * @param violations - Violations
     * @param testResults - Test results
     * @returns Audit summary
     */
    private createAuditSummary;
    /**
     * Calculate contrast ratio
     *
     * @param foreground - Foreground color
     * @param background - Background color
     * @returns Contrast ratio
     */
    private calculateContrastRatio;
    /**
     * Add heading structure
     *
     * @param content - Content
     * @param level - Heading level
     * @returns Content with heading structure
     */
    private addHeadingStructure;
    /**
     * Add list structure
     *
     * @param content - Content
     * @param type - List type
     * @returns Content with list structure
     */
    private addListStructure;
    /**
     * Add table structure
     *
     * @param content - Content
     * @param headers - Table headers
     * @returns Content with table structure
     */
    private addTableStructure;
    /**
     * Add form structure
     *
     * @param content - Content
     * @param labels - Form labels
     * @returns Content with form structure
     */
    private addFormStructure;
}

export { AccessibilityAudit, AccessibilityConfig, AccessibilityManager };
