export interface SwitchChangeEvent { checked: boolean; id?: string; } export type SwitchChangeHandler = (event: SwitchChangeEvent) => void; export interface SwitchProps { checked?: boolean; disabled?: boolean; id?: string; ariaLabel?: string; class?: string; required?: boolean; name?: string; onchange?: SwitchChangeHandler; } export interface SwitchState { checked: boolean; disabled: boolean; focused: boolean; } export interface SwitchAccessibilityConfig { ariaLabel?: string; ariaLabelledBy?: string; ariaDescribedBy?: string; role?: string; } export interface SwitchAnimationConfig { duration: number; easing: string; enabled: boolean; } export interface SwitchThemeConfig { size: 'sm' | 'md' | 'lg'; variant: 'default' | 'success' | 'warning' | 'danger'; customColors?: { background?: string; checkedBackground?: string; border?: string; checkedBorder?: string; handle?: string; }; } export interface SwitchEvents { change: SwitchChangeEvent; focus: FocusEvent; blur: FocusEvent; }