
"use client";
import { RadioSize, RadioVariant, UniversalRadioProps } from "../../../types/dist/index.js";
import React from "react";

//#region src/components/client/Radio/Radio.d.ts
type NativeInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'value' | 'size' | 'height' | 'width' | 'color' | 'required'>;
type DataAttributes = {
  [name: `data-${string}`]: string;
};
interface RadioProps extends NativeInputProps, UniversalRadioProps {
  /** Props to be passed into various slots within the component. */
  slotProps?: {
    root?: DataAttributes;
    radio?: DataAttributes;
    radioIcon?: DataAttributes;
    label?: DataAttributes;
  };
}
declare const RADIO_VARIANTS: RadioVariant[];
declare const RADIO_SIZES: RadioSize[];
/**
 * **⚙️️ A Radio.
 *
 * @componentType Client component
 *
 * @description
 * A radio component allows users to select one or multiple options from a set. Unlike checkbox, radio buttons cannot have multiple selected in a form, allowing only 1 selection in a group. It represents a binary state, typically as selected or unselected.
 *
 * @see
 * Check out the {@link https://uds.build/docs/components/radio Radio Docs} for more info
 *
 * @usage
 * - Forms: Radio
 *
 * @example
 * ```tsx
 * 'use client';
 * import { Radio } from "@yahoo/uds";
 *
 * <Radio label="Name" />
 *```
 *
 * @related [Radio](https://uds.build/docs/components/Radio).
 **/
declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<HTMLInputElement>>;
//#endregion
export { RADIO_SIZES, RADIO_VARIANTS, Radio, type RadioProps };