import { default as React, HTMLAttributes } from 'react';
import { LabelProps } from '../Label';
import { RadioGroupThemeType } from './RadioGroup.themes';
import { RadioProps } from './components/Radio';
import { ItemRootProps } from './components/ItemRoot';
export type LabelGroupOrientation = 'horizontal' | 'vertical';
type RadioGroupBaseProps = Omit, 'onChange' | 'disabled'>;
export type RadioContextProps = {
/**
* Currently selected value.
*/
value?: string;
/**
* The initial selected value of the Radio button.
* Applies to a single Radio button.
*
* Used for the Uncontrolled RadioGroup.
*/
defaultValue?: string;
/**
* `name` attribute for `Radio`.
*
* Automatically applied to all Radio buttons.
*/
name: string;
/**
* `disabled` attribute for `Radio`.
*
* Automatically applied to all Radio buttons.
*/
isDisabled?: boolean;
/**
* Handler for the selected value.
*
* Automatically applied to all Radio buttons.
*/
onChange: (e: React.ChangeEvent) => void;
};
export type RadioGroupProps = RadioGroupBaseProps & Omit & {
onChange: (value: string) => void;
/**
* Object with CSS theme properties.
*/
theme: RadioGroupThemeType;
/**
* Responsible for vertical or horizontal alignment of RadioGroup.
*/
orientation?: LabelGroupOrientation;
};
export type RadioGroupType = React.ForwardRefExoticComponent> & {
/**
* Radio component.
*/
Radio: React.ForwardRefExoticComponent>;
/**
* Label component.
*/
Label: React.ForwardRefExoticComponent>;
/**
* ItemRoot component.
*/
ItemRoot: React.FC;
};
export {};
//# sourceMappingURL=RadioGroup.props.d.ts.map