import React from 'react'; import type { ReactNode } from 'react'; import type { EitherInclusive } from '../../util/utility-types'; type RadioHTMLElementProps = Omit, 'checked' | 'id' | 'name'>; type RadioInputProps = RadioHTMLElementProps & { /** * Whether checkbox is checked. */ checked?: boolean; /** * Additional classnames passed in for styling. */ className?: string; /** * Radio ID. Used to connect the input with a label for accessibility purposes. */ id?: string; /** * Whether the radio button is in an error state */ isError?: boolean; }; type RadioProps = RadioInputProps & { /** * HTML id attribute. If not passed, this component * will generate an id to use for accessibility. */ id?: string; /** * The field name to use in a form */ name?: string; /** * Whether the radio button is in an error state */ isError?: boolean; /** * Additional descriptive text below the primary label, adding additional detail */ subLabel?: ReactNode; } & EitherInclusive<{ /** * Visible text label for the component. */ label: ReactNode; }, { /** * Aria-label to provide an accesible name for the text input if no visible label is provided. */ 'aria-label': string; }>; /** * `import {Radio} from "@chanzuckerberg/eds";` * * Radio control indicating if one item is selected or unselected from a set of other options. Uncontrolled by default, it can be used in place of a select field in form data. * * NOTE: This component requires `label` or `aria-label` prop */ export declare const Radio: { ({ className, disabled, label, id, isError, subLabel, ...other }: RadioProps): React.JSX.Element; displayName: string; Input: { ({ checked, className, disabled, isError, ...other }: RadioInputProps): React.JSX.Element; displayName: string; }; Label: { ({ className, disabled, htmlFor, id, labelAfter, required, text, ...other }: import("../Label/Label").LabelProps): React.JSX.Element; displayName: string; }; }; export {};