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;