import { ReactNode, InputHTMLAttributes, ReactElement, ChangeEvent } from 'react'; interface RadioProps extends InputHTMLAttributes { checked: boolean; name: string; id: string; index: number; checkedIndex: number; optionCount: number; label?: string; value?: any; variant: 'pill' | 'grid'; error?: boolean; warning?: boolean; isDisabled?: boolean; onClick?: (value: any) => void; } export declare function RadioOption({ checked, name, id, index, checkedIndex, onChange, onClick, optionCount, label, value, variant, error, warning, isDisabled, required, }: RadioProps): ReactElement; export type Variants = 'pill' | 'list' | 'grid'; export interface RadioGroupProps { /** * Helper text as a String or Node. Appears between the Legend and input/s */ helperText?: ReactNode; /** * Label to appear for the input/s */ legend: string; /** * Unique ID for the input/s */ name: string; /** * Function that fires when the selector is changed */ onChange: (event: ChangeEvent) => void; /** * Function that fires when an item is clicked. Does NOT apply to keyboard/assisted tech selection */ onClick?: (value: any) => void; /** * Array of options to list in the group. Require a value and a label */ options: Array<{ value: any; label: string; isDisabled?: boolean; badgeText?: string; }>; /** * The value of the input */ value?: any; /** * Renders the group in different appearances */ variant?: Variants; /** * String error message to display */ validationMessage?: string; /** * String warning message to display */ warningMessage?: string; /** * Boolean whether the input has been interacted with or not */ touched?: boolean; /** * A Boolean attribute which, if present, indicates that user input is required on the element before a form may be submitted */ required?: boolean; /** * A Boolean attribute which, if present, indicates that the width should be 100% of the container */ fullWidth?: boolean; } declare function RadioGroup({ helperText, legend, name, onChange, onClick, options, value, variant, validationMessage, warningMessage, touched, required, fullWidth, }: RadioGroupProps): ReactElement; export default RadioGroup;