import * as React from 'react';
import { type FieldProps } from '@/components/atoms/forms/_shared';
import { type SelectionColor, type SelectionItem, type SelectionSize, type SelectionVariant } from '@/components/ui/selection-group';
export type RadioGroupVariant = SelectionVariant;
export type RadioGroupColor = SelectionColor;
export type RadioGroupSize = SelectionSize;
export type RadioGroupItem = SelectionItem;
interface RadioGroupControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
    /** Array of radio options */
    items: RadioGroupItem[];
    /** Currently selected value (controlled) */
    value?: string;
    /** Default selected value (uncontrolled) */
    defaultValue?: string;
    /** Callback when selection changes */
    onValueChange?: (value: string) => void;
    /** Visual variant */
    variant?: RadioGroupVariant;
    /** Size of the radio buttons */
    size?: RadioGroupSize;
    /** Layout orientation */
    orientation?: 'horizontal' | 'vertical';
    /** Gap between options */
    gap?: 'sm' | 'md' | 'lg';
    /** Color theme */
    color?: RadioGroupColor;
    /** Renders card variant with filled/muted background instead of white */
    filled?: boolean;
    /** Whether the entire group is disabled */
    disabled?: boolean;
    /** Name attribute for form submission */
    name?: string;
    /** Whether a selection is required */
    required?: boolean;
    /** Accessible label for the radio group */
    'aria-label'?: string;
    /** ID of element that labels the radio group */
    'aria-labelledby'?: string;
}
export interface RadioGroupProps extends RadioGroupControlProps, Omit<FieldProps, 'topRight' | 'bottomRight'> {
}
declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
export { RadioGroup };
