/// <reference types="react" />
import { Orientation } from '@react-types/shared';
import type { RadioGroupProps, ValidationResult } from 'react-aria-components';
import './RadioSelect.scss';
export type RadioProps = {
    name: string;
    disabled?: boolean;
    readonly?: boolean;
};
export interface RadioSelectProps extends Omit<RadioGroupProps, 'children'> {
    options: RadioProps[];
    children?: React.ReactNode;
    label?: string;
    description?: string;
    errorMessage?: string | ((validation: ValidationResult) => string);
    disabled?: boolean;
    readonly?: boolean;
    orientation?: Orientation;
    defaultValue?: string | null;
    isPillStyle?: boolean;
}
/**
 * RadioSelect component that renders a group of radio buttons with optional labels, descriptions, and error messages.
 *
 * @param {Object} props - The properties passed to the component.
 * @param {Array<RadioProps>} props.options - An array of radio button options, where each option defines the button's name and optional disabled state.
 * @param {string} [props.label] - An optional label displayed above the radio group.
 * @param {string} [props.description] - An optional description displayed below the label.
 * @param {string} [props.value] - The currently selected value in the radio group.
 * @param {function(string): void} props.onChange - Callback function called when the selected value changes, receiving the new value as a string.
 * @param {boolean} [props.disabled=false] - If true, all radio buttons in the group are disabled.
 * @param {boolean} [props.readonly=false] - If true, the radio buttons are read-only and cannot be changed by the user.
 * @param {boolean} [props.isPillStyle=false] - If true, the radio buttons are styled as pills.
 * @param {string} [props.defaultValue] - The default value selected in the radio group if no value is provided.
 * @param {string} [props.orientation='vertical'] - The orientation of the radio group, either 'vertical' or 'horizontal'.
 * @param {string} [props.errorMessage] - An optional error message displayed below the radio group if validation fails.
 *
 * @returns {JSX.Element|null} The rendered RadioSelect component, or null if no options are provided.
 *
 */
export declare const RadioSelect: (props: RadioSelectProps) => import("react/jsx-runtime").JSX.Element;
export default RadioSelect;
