import { default as React, ReactNode, HTMLAttributes } from 'react';
type EventUpdateHandler = (value: string) => void;
export interface RadioGroupContextProps {
selectedValue?: string;
onChange?: EventUpdateHandler;
name?: string;
updateSelectedValue?: EventUpdateHandler;
disabled?: boolean;
}
export declare const RadioGroupContext: React.Context;
/**
* A component to wrap and group individual Radio components: All contained child Radio elements will share the same `name`-attribute passed as a prop to the group, and thus make the Radios work with each other as expected.
* @see https://cloudoperators.github.io/juno/?path=/docs/forms-radio-radiogroup--docs
* @see {@link RadioGroupProps}
*/
export declare const RadioGroup: ({ children, className, disabled, errortext, helptext, id, invalid, label, name, onChange, required, selected, successtext, valid, ...props }: RadioGroupProps) => ReactNode;
export interface RadioGroupProps extends Omit, "onChange"> {
/** The children of the RadioGroup. Typically, these will be `Radio` components. */
children?: ReactNode;
/** Pass a custom className */
className?: string;
/** Whether all Radios in the group are disabled */
disabled?: boolean;
/** Text to display in case validation failed or there is an error. Will set the whole group to invalid when passed. */
errortext?: ReactNode;
/** A text to render to further explain meaning and significance of the group */
helptext?: ReactNode;
/** The id of the group. If not passed, RadioGroup will create and use a unique id for the group */
id?: string;
/** Whether the group not be validated. */
invalid?: boolean;
/** Label for the group of radios as a whole. Passing a label is mandatory in order to denote a selection in the set is required by passing the `required` prop. */
label?: string;
/** The name of all radios in a group. If not passed, RadioGroup will create and use a unique name identifier for its child Radios */
name?: string;
/** An onChange handler to execute when the selected option changes */
onChange?: EventUpdateHandler;
/** Whether a selection on the RadioGroup is required */
required?: boolean;
/** The value of the initially selected radio. This will override 'checked' set on any of the child radio elements. */
selected?: string;
/** Text to display in case validation is successful. When passed, will set the whole group to valid. */
successtext?: ReactNode;
/** Whether the RadioGroup was successfully validated */
valid?: boolean;
}
export {};
//# sourceMappingURL=RadioGroup.component.d.ts.map