import { useRadio } from 'react-aria';
import { FieldBaseProps } from '../../../shared';
import { BaseProps, OuterStyleProps } from '../../../tasty';
import { CubeItemProps } from '../../content/Item/Item';
import { RadioGroup } from './RadioGroup';
import type { AriaRadioProps } from 'react-aria';
export { AriaRadioProps };
export { useRadio };
export interface CubeRadioProps extends BaseProps, AriaRadioProps, Omit<FieldBaseProps, 'tooltip'>, OuterStyleProps {
    type?: 'button' | 'radio';
    buttonType?: Exclude<CubeItemProps['type'], 'secondary'>;
    value?: string;
    isInvalid?: boolean;
    size?: Omit<CubeItemProps['size'], 'inline'>;
    icon?: CubeItemProps['icon'];
    rightIcon?: CubeItemProps['rightIcon'];
    prefix?: CubeItemProps['prefix'];
    suffix?: CubeItemProps['suffix'];
    description?: CubeItemProps['description'];
    tooltip?: CubeItemProps['tooltip'];
    hotkeys?: CubeItemProps['hotkeys'];
}
/**
 * Radio buttons allow users to select a single option from a list of mutually exclusive options.
 * All possible options are exposed up front for users to compare.
 */
declare const _Radio: import("react").ForwardRefExoticComponent<CubeRadioProps & import("react").RefAttributes<unknown>>;
declare const Tabs: import("react").ComponentType<{
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
} & {}>;
declare const ButtonGroup: import("react").ComponentType<{
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
} & {}>;
declare const __Radio: import("react").ForwardRefExoticComponent<CubeRadioProps & import("react").RefAttributes<unknown>> & {
    Group: typeof RadioGroup;
    Tabs: typeof Tabs;
    ButtonGroup: typeof ButtonGroup;
    Button: typeof _Radio;
} & {
    Group: import("react").ForwardRefExoticComponent<Omit<import("../../../utils/react/nullableValue").WithNullableValue<import("./RadioGroup").CubeRadioGroupProps>, "ref"> & import("react").RefAttributes<unknown>>;
    Tabs: import("react").ComponentType<{
        [x: string]: any;
        [x: number]: any;
        [x: symbol]: any;
    } & {}>;
    ButtonGroup: import("react").ComponentType<{
        [x: string]: any;
        [x: number]: any;
        [x: symbol]: any;
    } & {}>;
    Button: import("react").ForwardRefExoticComponent<CubeRadioProps & import("react").RefAttributes<unknown>>;
};
export { __Radio as Radio };
