import { type ElementType, type Ref } from 'react'; import { _internal_ComponentDescription } from '../../components/description/description.js'; import { _internal_ComponentLabel } from '../../components/label/label.js'; import type { Props } from '../../types.js'; import { type HasDisplayName, type RefProp } from '../../utils/render.js'; declare let DEFAULT_RADIO_GROUP_TAG: "div"; interface RadioGroupRenderPropArg { value: TType; } type RadioGroupPropsWeControl = 'role' | 'aria-labelledby' | 'aria-describedby'; export type RadioGroupProps = Props, RadioGroupPropsWeControl, { value?: TType; defaultValue?: TType; onChange?(value: TType): void; by?: (keyof TType & string) | ((a: TType, z: TType) => boolean); disabled?: boolean; form?: string; name?: string; }>; declare function RadioGroupFn(props: RadioGroupProps, ref: Ref): JSX.Element; declare let DEFAULT_OPTION_TAG: "div"; interface OptionRenderPropArg { checked: boolean; active: boolean; disabled: boolean; } type OptionPropsWeControl = 'aria-checked' | 'aria-describedby' | 'aria-lablledby' | 'role' | 'tabIndex'; export type RadioOptionProps = Props; declare function OptionFn[0]['value']>(props: RadioOptionProps, ref: Ref): JSX.Element; export interface _internal_ComponentRadioGroup extends HasDisplayName { (props: RadioGroupProps & RefProp): JSX.Element; } export interface _internal_ComponentRadioOption extends HasDisplayName { (props: RadioOptionProps & RefProp): JSX.Element; } export interface _internal_ComponentRadioLabel extends _internal_ComponentLabel { } export interface _internal_ComponentRadioDescription extends _internal_ComponentDescription { } declare let RadioGroupRoot: _internal_ComponentRadioGroup; export declare let RadioGroup: _internal_ComponentRadioGroup & { Option: _internal_ComponentRadioOption; Label: _internal_ComponentRadioLabel; Description: _internal_ComponentRadioDescription; }; export {};