import React from "react";
import { type VibeComponentProps } from "../../types";
export interface RadioButtonProps extends VibeComponentProps {
    /**
     * Class name applied to the label text.
     */
    labelClassName?: string;
    /**
     * Class name applied to the radio button element.
     */
    radioButtonClassName?: string;
    /**
     * The label text displayed next to the radio button.
     */
    text?: string;
    /**
     * The value associated with the radio button.
     */
    value?: string;
    /**
     * The name of the radio button group.
     */
    name?: string;
    /**
     * If true, the radio button automatically receives focus on mount.
     */
    autoFocus?: boolean;
    /**
     * If true, the radio button is disabled.
     */
    disabled?: boolean;
    /**
     * The reason why the radio button is disabled, displayed in a tooltip.
     */
    disabledReason?: string;
    /**
     * If true, the radio button is checked by default.
     */
    defaultChecked?: boolean;
    /**
     * The child elements inside the radio button.
     */
    children?: React.ReactNode;
    /**
     * Callback fired when the radio button selection changes.
     */
    onSelect?: (event: React.ChangeEvent<HTMLInputElement | null>) => void;
    /**
     * If provided, controls the checked state of the radio button.
     */
    checked?: boolean;
    /**
     * If true, clicking on children will trigger selection.
     */
    retainChildClick?: boolean;
    /**
     * The tab index applied to the children.
     */
    childrenTabIndex?: string;
    /**
     * If true, disables the label animation.
     */
    noLabelAnimation?: boolean;
    /**
     * ARIA label for accessibility when no text is provided.
     */
    ariaLabel?: string;
    /**
     * ID of element that describe this radio button.
     */
    ariaDescribedby?: string;
}
declare const RadioButton: React.ForwardRefExoticComponent<RadioButtonProps & React.RefAttributes<HTMLInputElement>>;
export default RadioButton;
