import React, { type ElementType, type Ref } from 'react'; import { type ByComparator } from '../../hooks/use-by-comparator.js'; import type { Props } from '../../types.js'; import { type HasDisplayName, type RefProp } from '../../utils/render.js'; import { type _internal_ComponentDescription } from '../description/description.js'; import { type _internal_ComponentLabel } from '../label/label.js'; declare let DEFAULT_RADIO_GROUP_TAG: "div"; type RadioGroupRenderPropArg = { value: TType; }; type RadioGroupPropsWeControl = 'role' | 'aria-labelledby' | 'aria-describedby'; export type RadioGroupProps = Props, RadioGroupPropsWeControl, { value?: TType; defaultValue?: TType; onChange?: (value: TType) => void; by?: ByComparator; disabled?: boolean; form?: string; name?: string; }>; declare function RadioGroupFn(props: RadioGroupProps, ref: Ref): React.JSX.Element; declare let DEFAULT_OPTION_TAG: "div"; type OptionRenderPropArg = { checked: boolean; /** @deprecated use `focus` instead */ active: boolean; hover: boolean; focus: boolean; autofocus: boolean; disabled: boolean; }; type OptionPropsWeControl = 'aria-checked' | 'aria-describedby' | 'aria-labelledby' | 'role' | 'tabIndex'; export type RadioOptionProps = Props; declare function OptionFn[0]['value']>(props: RadioOptionProps, ref: Ref): React.JSX.Element; declare let DEFAULT_RADIO_TAG: "span"; type RadioRenderPropArg = { checked: boolean; hover: boolean; focus: boolean; autofocus: boolean; disabled: boolean; }; type RadioPropsWeControl = 'aria-checked' | 'aria-describedby' | 'aria-labelledby' | 'role' | 'tabIndex'; export type RadioProps = Props; declare function RadioFn[0]['value']>(props: RadioProps, ref: Ref): React.ReactElement> | null; export interface _internal_ComponentRadioGroup extends HasDisplayName { (props: RadioGroupProps & RefProp): React.JSX.Element; } export interface _internal_ComponentRadioOption extends HasDisplayName { (props: RadioOptionProps & RefProp): React.JSX.Element; } export interface _internal_ComponentRadio extends HasDisplayName { (props: RadioProps & RefProp): React.JSX.Element; } export interface _internal_ComponentRadioLabel extends _internal_ComponentLabel { } export interface _internal_ComponentRadioDescription extends _internal_ComponentDescription { } declare let RadioGroupRoot: _internal_ComponentRadioGroup; /** @deprecated use `` instead of `` */ export declare let RadioGroupOption: _internal_ComponentRadioOption; export declare let Radio: _internal_ComponentRadio; /** @deprecated use `