export type ColorblindMode = 'none' | 'protanopia' | 'deuteranopia' | 'tritanopia' | 'achromatopsia'; export interface AccessibilityConfig { highContrast: boolean; colorblindMode: ColorblindMode; fontSize: number; reducedMotion: boolean; screenReaderEnabled: boolean; subtitlesEnabled: boolean; subtitleSize: number; subtitleBackground: boolean; hapticFeedback: boolean; autoAim: boolean; autoAimStrength: number; holdToPress: boolean; inputDeadzone: number; difficultyPreset: DifficultyPreset; } export type DifficultyPreset = 'easy' | 'normal' | 'hard' | 'custom' | 'assist'; export declare const DEFAULT_ACCESSIBILITY_CONFIG: AccessibilityConfig; export interface DifficultySettings { damageMultiplier: number; enemyHealthMultiplier: number; enemyDamageMultiplier: number; resourceMultiplier: number; timeMultiplier: number; respawnPenalty: boolean; friendlyFire: boolean; checkpoints: boolean; invincibilityFrames: number; } export declare const DIFFICULTY_PRESETS: Record; type ColorMatrix = [number, number, number, number, number, number, number, number, number]; export declare const COLORBLIND_MATRICES: Record; export declare function applyColorblindFilter(r: number, g: number, b: number, mode: ColorblindMode): { r: number; g: number; b: number; }; /** Generate CSS filter string for colorblind mode (applied to canvas). */ export declare function getColorblindCSSFilter(mode: ColorblindMode): string; export declare class ScreenReaderAnnouncer { private liveRegion; init(): void; announce(message: string, priority?: 'polite' | 'assertive'): void; dispose(): void; } export interface SubtitleEntry { speakerId: string; speakerName: string; text: string; startTime: number; endTime: number; color?: string; } export interface SubtitleTrack { language: string; entries: SubtitleEntry[]; } export declare function getActiveSubtitles(track: SubtitleTrack, currentTime: number): SubtitleEntry[]; export interface ControlMapping { action: string; keyboard: string[]; gamepadButton: number[]; gamepadAxis: Array<{ axis: number; direction: 1 | -1; }>; mouseButton: number[]; } export declare class ControlMapper { private mappings; private defaults; register(mapping: ControlMapping): void; remap(action: string, update: Partial): void; getMapping(action: string): ControlMapping | undefined; resetToDefaults(): void; /** Export mappings as JSON for save/load. */ serialize(): Array<[string, ControlMapping]>; load(data: Array<[string, ControlMapping]>): void; allActions(): string[]; } export {};