import { RadioProps } from './types';
/**
 * Radio - Radio button component for single selection
 *
 * A radio button component for selecting a single option from a group.
 * Supports controlled and uncontrolled states, palette-based color variants,
 * and full accessibility. Displays a radio icon that changes appearance based
 * on checked state and hover interactions.
 *
 * Colors are sourced from `theme.palette` for consistency with Button and
 * Checkbox. Pass `color="custom"` together with the `colors` object to supply
 * arbitrary CSS color values.
 *
 * Typically used within RadioGroup for managing selection state across
 * multiple radio buttons, but can also be used standalone.
 *
 * @category Form Controls
 * @subcategory Input
 *
 * @example
 * ```tsx
 * // Default (primary / blue)
 * <Radio
 *   id="option1"
 *   name="choice"
 *   value="option1"
 *   text="Option 1"
 *   onChange={(value) => console.log(value)}
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Success (green) variant
 * <Radio
 *   name="status"
 *   value="active"
 *   text="Active"
 *   color="success"
 *   onChange={handleChange}
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Custom color escape hatch
 * <Radio
 *   name="priority"
 *   value="high"
 *   text="High Priority"
 *   color="custom"
 *   colors={{
 *     default: '#ff0000',
 *     hovered: '#cc0000',
 *     disabled: '#cccccc',
 *     focusShadow: 'rgba(255,0,0,0.25)',
 *   }}
 *   onChange={handleChange}
 * />
 * ```
 *
 * @see {@link RadioGroup} - For managing groups of radio buttons
 *
 * @accessibility
 * - Full keyboard navigation (Arrow keys to navigate group, Space to select)
 * - Proper ARIA attributes (role="radio", aria-checked)
 * - Screen reader friendly
 * - Focus management with visible focus indicators
 */
declare const Radio: ({ id, name, value, isChecked, isDisabled, isRequired, text, color, colors, className, onChange, }: RadioProps) => import("@emotion/react/jsx-runtime").JSX.Element;
export default Radio;
