import React from 'react'; export interface DOMProps { style?: React.CSSProperties; className?: string; } export interface QAProps { qa?: string; } export interface ControlProps extends Pick, 'name' | 'value' | 'id' | 'checked' | 'onChange' | 'onFocus' | 'onBlur' | 'disabled' | 'defaultChecked'> { indeterminate?: boolean; onUpdate?: (checked: boolean) => void; controlProps?: Omit, 'name' | 'value' | 'id' | 'onFocus' | 'onBlur' | 'disabled' | 'type' | 'onChange' | 'defaultChecked' | 'checked' | 'aria-checked'>; controlRef?: React.Ref; } export interface ControlGroupOption { value: string; content?: React.ReactNode; children?: React.ReactNode; disabled?: boolean; } export interface ControlGroupProps { name?: string; value?: string; defaultValue?: string; onUpdate?: (value: string) => void; onChange?: (event: React.ChangeEvent) => void; disabled?: boolean; options?: ControlGroupOption[]; }