import React, { ChangeEvent } from 'react'; import { RadioStatus } from '../Radio/types'; export interface RadioItemProps extends RadioStatus { label?: string; value?: string; description?: string; onChange?: (event: ChangeEvent) => void; className?: string; RadioClassName?: string; } export interface RadioGroupProps { data: RadioItemProps[]; name: string; selectedValue: string; onChange: (e: React.ChangeEvent) => void; children: (item: RadioItemProps) => React.ReactNode; isError?: boolean; disabled?: boolean; } /** * 라디오 버튼 그룹을 구성하는 컴포넌트입니다. * * @param {Object} props * @param {RadioItemProps[]} props.data - 라디오 버튼 아이템들의 데이터 배열 ({label, value, description, onChange, className, RadioClassName}[]) * @param {string} props.name - 라디오 그룹의 name 속성 * @param {string} props.selectedValue - 현재 선택된 라디오 버튼의 값 * @param {Function} props.onChange - 라디오 버튼 선택 변경 시 호출되는 핸들러 함수 * @param {Function} props.children - 각 라디오 버튼 아이템을 렌더링하는 렌더 프롭 함수 * @param {boolean} [props.isError] - 에러 상태 여부 * @param {boolean} [props.isDisabled] - 비활성화 상태 여부 * * @example * ```tsx * const radioItems = [ * { label: '옵션 1', value: '1', description: '첫 번째 옵션입니다.' }, * { label: '옵션 2', value: '2', description: '두 번째 옵션입니다.' } * ]; * * console.log(e.target.value)} * > * {(item) => ( * * )} * * ``` */ declare const RadioGroup: ({ data, selectedValue, children, onChange, isError, disabled, }: RadioGroupProps) => import("react/jsx-runtime").JSX.Element; export { RadioGroup };