import { ChangeEvent, HTMLAttributes, ReactNode } from 'react';
export interface StyledRadioStatus {
    label: ReactNode;
    icon?: ReactNode;
    a11yLabel?: string;
    type?: 'positive' | 'caution' | 'critical' | 'info' | 'strong';
}
export interface StyledRadioOption {
    id: string;
    value: string;
    label: ReactNode;
    checked?: boolean;
    disabled?: boolean;
    leadingDecoration?: ReactNode;
    leadingDecorationA11yLabel?: string;
    body?: ReactNode;
    status?: string | StyledRadioStatus;
    secondaryLabel?: ReactNode;
    secondaryBody?: ReactNode;
    action?: ReactNode;
    /** Whether the action is an IconButton ('icon-button') or a text Button ('button'). Affects layout class. */
    actionVariant?: 'button' | 'icon-button';
    hover?: boolean;
    pressed?: boolean;
    focused?: boolean;
}
export interface StyledRadioGroupProps extends Omit<HTMLAttributes<HTMLFieldSetElement>, 'children' | 'onChange'> {
    legend: string;
    groupName: string;
    radioButtons: StyledRadioOption[];
    inverse?: boolean;
    ariaRequired?: boolean;
    ariaInvalid?: boolean;
    legendAsLabel?: boolean;
    errorMessage?: string;
    value?: string;
    defaultValue?: string;
    onChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;
}
//# sourceMappingURL=StyledRadioGroup.types.d.ts.map