import type { CSSProperties, HTMLAttributes } from "react"; import type { LabelRequiredForA11y } from "../../types"; import type { RadioItemStyleObject, RadioItem } from "./types"; /** * This is a controlled component to render a group of radio buttons when the * `` does not work. * * @remarks \@since 2.7.0 */ export interface BaseRadioGroupProps extends Omit, "onChange"> { /** */ id: string; /** * The current value for the radio group. This should be the empty string * (`""`) if no values are selected. Otherwise it should match one of the * `values`' value. */ value: string; /** * A list of values/radio props that should be used to render the radio items. */ items: readonly RadioItem[]; /** * A function that changes the current selection within the radio group. */ onChange(nextValue: string): void; /** * An optional function to get a `style` object for each rendered radio. */ getRadioStyle?(item: RadioItemStyleObject): CSSProperties | undefined; /** * An optional function to get a `className` for each rendered radio. */ getRadioClassName?(item: RadioItemStyleObject): string | undefined; } /** * @remarks \@since 2.7.0 */ export declare type RadioGroupProps = LabelRequiredForA11y; /** * The `RadioGroup` is a low-level component that does not provide any styles * and instead only provides the accessibility required for a * `role="radiogroup"` and rendering each `role="radio"` item. * * @remarks \@since 2.7.0 */ export declare const RadioGroup: import("react").ForwardRefExoticComponent>;