
import { BaseProps, OuterStyleProps } from "../../../tasty/types.js";
import "../../../tasty/index.js";
import { FieldBaseProps } from "../../../shared/form.js";
import "../../../shared/index.js";
import { CubeItemProps } from "../../content/Item/Item.js";
import { WithNullableValue } from "../../../utils/react/nullableValue.js";
import { CubeRadioGroupProps, _RadioGroup } from "./RadioGroup.js";
import * as react from "react";
import { AriaRadioProps, useRadio } from "react-aria";

//#region src/components/fields/RadioGroup/Radio.d.ts
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: react.ForwardRefExoticComponent<CubeRadioProps & react.RefAttributes<unknown>>;
declare const Tabs: react.ComponentType<{
  [x: string]: any;
  [x: number]: any;
  [x: symbol]: any;
} & {}>;
declare const ButtonGroup: react.ComponentType<{
  [x: string]: any;
  [x: number]: any;
  [x: symbol]: any;
} & {}>;
declare const __Radio: react.ForwardRefExoticComponent<CubeRadioProps & react.RefAttributes<unknown>> & {
  Group: typeof _RadioGroup;
  Tabs: typeof Tabs;
  ButtonGroup: typeof ButtonGroup;
  Button: typeof _Radio;
} & {
  Group: react.ForwardRefExoticComponent<Omit<WithNullableValue<CubeRadioGroupProps>, "ref"> & react.RefAttributes<unknown>>;
  Tabs: react.ComponentType<{
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
  } & {}>;
  ButtonGroup: react.ComponentType<{
    [x: string]: any;
    [x: number]: any;
    [x: symbol]: any;
  } & {}>;
  Button: react.ForwardRefExoticComponent<CubeRadioProps & react.RefAttributes<unknown>>;
};
//#endregion
export { AriaRadioProps, CubeRadioProps, __Radio, useRadio };
//# sourceMappingURL=Radio.d.ts.map