/** * Color Blindness Simulation & Accessibility * * Functions for simulating color vision deficiencies and * creating accessible color palettes. * * @since v1.57.3 */ import type { ExtendedTheme, SemanticColors } from './theme-types.js'; /** * Color vision deficiency types */ export type ColorBlindnessType = 'normal' | 'deuteranopia' | 'protanopia' | 'tritanopia' | 'achromatopsia'; /** * Apply color blindness simulation to a single color */ export declare function simulateColorBlindness(hex: string, type: ColorBlindnessType): string; /** * Simulate entire color palette for color blindness */ export declare function simulatePaletteColorBlindness(colors: SemanticColors, type: ColorBlindnessType): SemanticColors; /** * Check if two colors are distinguishable for a given color blindness type */ export declare function areColorsDistinguishable(hex1: string, hex2: string, type: ColorBlindnessType, threshold?: number): boolean; /** * Get color-blind safe alternatives for common colors */ export declare function getColorBlindSafeColor(purpose: 'success' | 'warning' | 'error' | 'info', isDark?: boolean): string; /** * Create a Deuteranopia-friendly theme */ export declare function createDeuteranopiaTheme(): ExtendedTheme; /** * Create a Protanopia-friendly theme */ export declare function createProtanopiaTheme(): ExtendedTheme; /** * Create a Tritanopia-friendly theme */ export declare function createTritanopiaTheme(): ExtendedTheme; /** * Accessibility preference options */ export interface AccessibilityPreferences { /** Reduce motion/animations */ reduceMotion: boolean; /** Color blindness type to optimize for */ colorBlindnessType: ColorBlindnessType; /** High contrast mode */ highContrast: boolean; /** Increase text size */ largerText: boolean; } /** * Get default accessibility preferences */ export declare function getDefaultAccessibilityPreferences(): AccessibilityPreferences; /** * Get all color blindness types with descriptions */ export declare function getColorBlindnessTypes(): Array<{ type: ColorBlindnessType; name: string; description: string; prevalence: string; }>; /** * Check if a theme is accessible for a specific color blindness type */ export declare function checkColorBlindnessAccessibility(colors: SemanticColors, type: ColorBlindnessType): { isAccessible: boolean; issues: string[]; }; //# sourceMappingURL=color-blindness.d.ts.map