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>;