import type { ChangeEvent, FC } from 'react';
import type { FormControlProps } from '../FormControl';
import type { RadioCheckProps } from '../RadioCheck';
import type { ForwardProps, NoChildrenProp } from '../../types';
export interface RadioButtonProps extends NoChildrenProp {
    /**
     * Sets DOM id for the control and associates label element via 'for' attribute.
     * If an id is not pass, a random id will be generated for any render.
     */
    id?: FormControlProps['id'];
    /** Pass a string or a fragment with an Icon and string. */
    label?: FormControlProps['label'];
    /** Indicate if the field is required. The browser defaults to false. */
    required?: FormControlProps['required'];
    /** Disable the control. The browser defaults to false. */
    disabled?: FormControlProps['disabled'];
    /** Set visual state based on a validation state. */
    status?: FormControlProps['status'];
    /** Sets html name attribute for the underlying control. Useful for mapping to a data field. */
    name?: FormControlProps['name'];
    /** Sets checked prop via onChange when using as controlled component. */
    checked?: RadioCheckProps['checked'];
    /** Initialize checked prop when using as uncontrolled component. */
    defaultChecked?: RadioCheckProps['defaultChecked'];
    /**
     * Sets Radio Button to an an [indeterminate state](https://css-tricks.com/almanac/selectors/i/indeterminate/#indeterminate-radio-buttons).
     * @default false
     */
    indeterminate?: RadioCheckProps['indeterminate'];
    /** Callback invoked when this particular radio button is selected. */
    onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
}
declare const RB: FC<RadioButtonProps & ForwardProps>;
export default RB;
//# sourceMappingURL=RadioButton.d.ts.map