import { FocusEventHandler, MouseEventHandler, ReactNode } from 'react';
import { UseRadioGroupProps, RadioGroupProps as ChakraRadioGroupProps, StackProps } from '@chakra-ui/react';
import { ControllerRenderProps } from 'react-hook-form';
import { Sizes } from './RadioCard';
export interface RadioGroupOption {
    value: ChakraRadioGroupProps['value'] | boolean | number | readonly string[];
    label: string | ReactNode;
    group?: string;
    disabled?: boolean;
    invalid?: boolean;
}
interface RadioGroup extends Omit<ControllerRenderProps<{
    [k: string]: any;
}, string>, 'ref' | 'onBlur' | 'value'> {
    options: RadioGroupOption[];
    isAttached?: boolean;
    size?: Sizes;
    onBlur?: FocusEventHandler<HTMLDivElement>;
    onClick?: MouseEventHandler<HTMLDivElement>;
}
type RadioGroupCombinedProps = RadioGroup & UseRadioGroupProps;
type ControlledRadioGroup = RadioGroupCombinedProps & {
    defaultValue?: never;
};
type UncontrolledRadioGroup = RadioGroupCombinedProps & {
    value?: never;
};
export type RadioGroupProps = (ControlledRadioGroup | UncontrolledRadioGroup) & {
    direction?: StackProps['direction'];
};
declare function RadioGroup(props: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
export default RadioGroup;
