import React, { FC, ChangeEvent, FocusEvent, ReactNode } from 'react'; import { RadioInputProps } from './RadioInput/RadioInput'; export interface RadioGroupProps { /** * Radio group name. */ name: string; /** * Callback function to call on change event. */ onChange: (event: ChangeEvent) => void; /** * Options for radio group. */ options: { id: string; value: string; label: ReactNode; disabled?: boolean | null; }[]; /** * Additional classes to add. */ className?: string; /** * Description to be displayed below the title, and above the RadioGroup. */ description?: ReactNode; /** * Whether the radios should be aligned in a row or in a column */ direction?: 'row' | 'column'; /** * Mark the radio group as invalid and display a validation message. * Pass a string or node to render a validation message below the input. */ error?: ReactNode; /** * If the radio group should be disabled and not focusable. */ isDisabled?: boolean; /** * If the radio group is required or not */ isRequired?: boolean; /** * Callback function to call on blur event. */ onBlur?: (event: FocusEvent) => void; /** * Callback function to call on focus event. */ onFocus?: (event: FocusEvent) => void; /** * Visual indicator that the field is required, that gets appended to the label */ requiredIndicator?: React.ReactNode; /** * Size of the radio icons in the group. */ size?: RadioInputProps['size']; /** * Title to be displayed above the RadioGroup. */ title?: ReactNode; /** * The value of selected radio input. */ value?: string; /** * Additional props to be spread to rendered element */ [x: string]: any; } export declare const RadioGroup: FC;