import * as react_jsx_runtime from 'react/jsx-runtime';
import { FocusEventHandler, MouseEventHandler, ReactNode } from 'react';
import { RadioGroupProps as RadioGroupProps$1, StackProps, UseRadioGroupProps } from '@chakra-ui/react';
import { ControllerRenderProps } from 'react-hook-form';
import { Sizes } from './RadioCard.js';

interface RadioGroupOption {
    value: RadioGroupProps$1['value'] | boolean | number | readonly string[];
    label: string | ReactNode;
    group?: string;
    disabled?: boolean;
    invalid?: boolean;
}
type RadioGroupCombinedProps = RadioGroup & UseRadioGroupProps;
type ControlledRadioGroup = RadioGroupCombinedProps & {
    defaultValue?: never;
};
type UncontrolledRadioGroup = RadioGroupCombinedProps & {
    value?: never;
};
type RadioGroupProps = (ControlledRadioGroup | UncontrolledRadioGroup) & {
    direction?: StackProps['direction'];
};
interface RadioGroup extends Omit<ControllerRenderProps<{
    [k: string]: any;
}, string>, 'ref' | 'onBlur' | 'value'> {
    options: RadioGroupOption[];
    isAttached?: boolean;
    size?: Sizes;
    onBlur?: FocusEventHandler<HTMLDivElement>;
    onClick?: MouseEventHandler<HTMLDivElement>;
}
declare function RadioGroup(props: RadioGroupProps): react_jsx_runtime.JSX.Element;

export { RadioGroupOption, RadioGroupProps, RadioGroup as default };
