import React from "react"; export interface RadioOption { label: string; value: string | number; disabled?: boolean; } export interface RadioButtonGroupProps extends Omit, "onChange" | "children"> { /** * Array de opciones para renderizar radios automáticamente */ options: RadioOption[]; /** * Valor seleccionado (controlado) */ value?: string | number; /** * Callback cuando cambia la selección * Puede recibir un valor directo o un evento (para compatibilidad con react-hook-form) */ onChange?: ((value: string | number) => void) | React.ChangeEventHandler; /** * Posición del label para todas las opciones */ labelPosition?: "left" | "right"; /** * Tamaño de los radio buttons */ size?: "sm" | "md" | "lg"; /** * Mensaje de error a mostrar */ error?: string; /** * Dirección del layout: vertical (columna) o horizontal (fila) */ direction?: "vertical" | "horizontal"; /** * Espaciado entre opciones */ gap?: "sm" | "md" | "lg"; /** * Nombre del campo (para react-hook-form) */ name?: string; /** * Estado deshabilitado */ disabled?: boolean; /** * Callback cuando pierde el foco * Puede recibir un evento (para compatibilidad con react-hook-form) o ser una función sin parámetros */ onBlur?: (() => void) | React.FocusEventHandler; /** * Si es true, el radio group será de solo lectura. Las opciones no seleccionadas se verán deshabilitadas * y la seleccionada se verá igual, pero no se podrá cambiar el valor. * Por defecto es false. */ readOnly?: boolean; } export declare const RadioButtonGroup: React.ForwardRefExoticComponent>; //# sourceMappingURL=RadioButtonGroup.d.ts.map