import * as React from 'react'; import type { BaseUIComponentProps, NonNativeButtonProps } from "../../internals/types.mjs"; import type { FieldRootState } from "../../field/root/FieldRoot.mjs"; /** * Represents the radio button itself. * Renders a `` element and a hidden `` beside. * * Documentation: [Base UI Radio](https://base-ui.com/react/components/radio) */ export declare const RadioRoot: { (props: RadioRoot.Props): React.JSX.Element; }; export interface RadioRootState extends FieldRootState { /** * Whether the radio button is currently selected. */ checked: boolean; /** * Whether the component should ignore user interaction. */ disabled: boolean; /** * Whether the user should be unable to select the radio button. */ readOnly: boolean; /** * Whether the user must choose a value before submitting a form. */ required: boolean; /** * Whether the radio button has been touched (when wrapped in Field.Root). */ touched: boolean; /** * Whether the radio button's value has changed from its initial value (when wrapped in Field.Root). */ dirty: boolean; /** * Whether the radio button is in a valid state (when wrapped in Field.Root). */ valid: boolean | null; /** * Whether the radio button has a value (when wrapped in Field.Root). */ filled: boolean; /** * Whether the radio button is focused (when wrapped in Field.Root). */ focused: boolean; } export interface RadioRootProps extends NonNativeButtonProps, Omit, 'value'> { /** * The unique identifying value of the radio in a group. */ value: Value; /** * Whether the component should ignore user interaction. */ disabled?: boolean | undefined; /** * Whether the user must choose a value before submitting a form. */ required?: boolean | undefined; /** * Whether the user should be unable to select the radio button. */ readOnly?: boolean | undefined; /** * A ref to access the hidden input element. */ inputRef?: React.Ref | undefined; } export declare namespace RadioRoot { type State = RadioRootState; type Props = RadioRootProps; }