/**
 * BFUI Component: RadioGroup.tsx
 *
 * Purpose:
 *   Provides a customizable radio group component with optional card style,
 *   supporting accessibility and theming via Chakra UI.
 *
 * AI Agent / Developer Interaction:
 *   - Agents can use this component to render radio options with labels, icons,
 *     and descriptions.
 *   - Developers should ensure props are correctly typed and handle state changes.
 *
 * Connected Systems:
 *   - Chakra UI for UI primitives and theming.
 *   - FormGroup component for consistent form layout and validation.
 *
 * TODO:
 *   - Add unit and integration tests for card style and accessibility.
 *   - Improve type safety for onChange and event handlers.
 *   - Optimize rendering performance for large option sets.
 *   - Add CLI wrappers for form generation automation if applicable.
 */
import React from 'react';
import type { FormGroupProps } from './FormGroup.js';
export interface RadioOption {
    /**
     * Value of the radio option
     */
    value: string;
    /**
     * Label of the radio option
     */
    label: string;
    /**
     * Whether the radio option is disabled
     */
    isDisabled?: boolean;
    /**
     * Description text for the option
     */
    description?: string;
    /**
     * Icon for the option
     */
    icon?: React.ReactElement;
}
export interface RadioGroupProps {
    /**
     * Label for the radio group
     */
    label?: string;
    /**
     * Error message to display
     */
    error?: string;
    /**
     * Helper text to display below the radio group
     */
    helperText?: string;
    /**
     * Whether the radio group is required
     */
    isRequired?: boolean;
    /**
     * Options for the radio group
     */
    options: RadioOption[];
    /**
     * Direction of the radio group
     * @default 'vertical'
     */
    direction?: 'horizontal' | 'vertical';
    /**
     * Spacing between radio options
     * @default 4
     */
    spacing?: number;
    /**
     * Size of the radio buttons
     * @default 'md'
     */
    size?: 'sm' | 'md' | 'lg';
    /**
     * Whether to use a card style for options
     */
    isCard?: boolean;
    /**
     * Color scheme for the radio buttons
     */
    colorScheme?: string;
    /**
     * Props to pass to the form group
     */
    formGroupProps?: Omit<FormGroupProps, 'label' | 'isRequired' | 'isInvalid' | 'errorMessage' | 'helperText'>;
    /**
     * Value of the selected radio option
     */
    value?: string;
    /**
     * Default value of the radio group
     */
    defaultValue?: string;
    /**
     * Change handler for the radio group
     */
    onChange?: (value: string) => void;
    /**
     * Name for the radio group
     */
    name?: string;
}
/**
 * RadioGroup component using Chakra UI's RadioGroup with BFUI theme customizations
 */
export declare const RadioGroup: React.FC<RadioGroupProps>;
export default RadioGroup;
//# sourceMappingURL=RadioGroup.d.ts.map