import { default as React } from 'react';
import { RadioProps as MuiRadioProps } from '@mui/material/Radio';
import { LabelProps } from '../Label';
/**
 * MUI `Radio`를 감싼 컴포넌트의 Props.
 * - 원본 `MuiRadioProps`에서 `checkedIcon`만 제외(Omit)한다.
 * - 라벨/배치/비활성화 등 폼 라디오에 필요한 속성을 제공한다.
 */
export interface RadioProps extends Omit<MuiRadioProps, "checkedIcon"> {
    /** 루트 요소에 전달할 CSS 클래스명 */
    className?: string;
    /**
     * 라디오의 제출(value) 값 (필수)
     * - 같은 그룹 내에서 선택 항목을 구분한다.
     */
    value: string;
    /**
     * 라벨 텍스트 또는 노드
     * - 지정 시 커스텀 `Label` 컴포넌트로 렌더링된다.
     */
    label?: React.ReactNode;
    /**
     * 체크 상태(제어 모드)
     * - 제어 모드에서는 반드시 `onChange`와 함께 사용한다.
     */
    checked?: boolean;
    /**
     * 변경 이벤트 핸들러
     * @param event 변경 이벤트(`event.target.checked`로 상태 확인)
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * 색상 팔레트
     * - MUI 팔레트 키 중 하나
     */
    color?: "default" | "primary" | "secondary" | "error" | "info" | "success" | "warning";
    /** 사이즈 `small | medium`*/
    size?: "small" | "medium";
    /**
     * 비활성화 여부
     * @default false */
    disabled?: boolean;
    /** 필수 표기 여부*/
    required?: boolean;
    /** 라벨 배치 위치 `start | end | top | bottom` */
    labelPlacement?: "start" | "end" | "top" | "bottom";
    /** 라벨 크기 */
    labelSize?: LabelProps["size"];
}
declare const Radio: ({ className, value, label, checked, onChange, disabled, labelPlacement, required, labelSize, ...props }: RadioProps) => import("react/jsx-runtime").JSX.Element;
export default Radio;
