/**
 * Accessibility System for LLM UI Components
 */
import React from 'react';
export interface AccessibilityAnalysis {
    score: number;
    issues: AccessibilityIssue[];
    wcagCriteria: string[];
    recommendations: string[];
}
export interface AccessibilityIssue {
    type: 'error' | 'warning' | 'info';
    message: string;
    element?: string;
    wcagRule?: string;
}
export interface AccessibilityOptions {
    checkColors?: boolean;
    checkKeyboard?: boolean;
    checkScreenReader?: boolean;
    checkFocus?: boolean;
}
/**
 * Hook for accessibility analysis and monitoring
 */
export declare function useAccessibility(options?: AccessibilityOptions): {
    analyzeComponent: (element?: HTMLElement) => Promise<AccessibilityAnalysis>;
    checkColorContrast: (foreground: string, background: string) => boolean;
    validateKeyboardNavigation: (element: HTMLElement) => boolean;
    generateAriaLabel: (context: string) => string;
    currentAnalysis: AccessibilityAnalysis | null;
    isAnalyzing: boolean;
};
/**
 * Accessibility utilities
 */
export declare const AccessibilityUtils: {
    generateId: (prefix?: string) => string;
    isFocusable: (element: HTMLElement) => boolean;
    getAccessibleName: (element: HTMLElement) => string;
};
/**
 * Simple AccessibilityProvider for component wrapping
 */
export declare const AccessibilityProvider: React.FC<{
    children: React.ReactNode;
}>;
/**
 * Accessibility System with static methods
 */
export declare const AccessibilitySystem: {
    useAccessibility: typeof useAccessibility;
    AccessibilityUtils: {
        generateId: (prefix?: string) => string;
        isFocusable: (element: HTMLElement) => boolean;
        getAccessibleName: (element: HTMLElement) => string;
    };
    runA11yAudit: (element: any) => Promise<{
        score: number;
        issues: never[];
        wcagCriteria: string[];
        recommendations: never[];
    }>;
};
declare const _default: {
    useAccessibility: typeof useAccessibility;
    AccessibilityUtils: {
        generateId: (prefix?: string) => string;
        isFocusable: (element: HTMLElement) => boolean;
        getAccessibleName: (element: HTMLElement) => string;
    };
    AccessibilityProvider: React.FC<{
        children: React.ReactNode;
    }>;
    AccessibilitySystem: {
        useAccessibility: typeof useAccessibility;
        AccessibilityUtils: {
            generateId: (prefix?: string) => string;
            isFocusable: (element: HTMLElement) => boolean;
            getAccessibleName: (element: HTMLElement) => string;
        };
        runA11yAudit: (element: any) => Promise<{
            score: number;
            issues: never[];
            wcagCriteria: string[];
            recommendations: never[];
        }>;
    };
};
export default _default;
//# sourceMappingURL=AccessibilitySystem.d.ts.map