import { type Component, type InputHTMLAttributes, type HTMLAttributes, type VNode } from 'vue';
import { type OUIAProps } from '../helpers/ouia';
interface Props extends OUIAProps, /* @vue-ignore */ Omit {
/** Sets the radio wrapper component to render. Defaults to "div", or "label" with labelWrapped. */
component?: string | Component;
/** Additional classes added to the input. */
inputClass?: HTMLAttributes['class'];
/** Id of the radio. Generated when not set. */
id?: string;
/** Value of the radio, emitted as the model value when it gets selected. */
value?: T;
/** Value of the selected radio of the group, bound with v-model. The radio is checked when it equals value. */
modelValue?: T;
/** Flag to show if the radio is checked, when it is not bound with v-model. */
checked?: boolean;
/** Flag to show if the radio is disabled. */
disabled?: boolean;
/** Flag to show if the radio selection is invalid. */
invalid?: boolean;
/** Label text of the radio. */
label?: string;
/** Aria label for the radio, used only without a label. */
ariaLabel?: string;
/** Description text of the radio. The input is described by it, unless aria-describedby is set ("" removes it). */
description?: string;
/** Body of the radio. */
body?: string;
/** Flag to indicate whether the radio wrapper element is a