import type { Ref, ReactElement, ChangeEvent } from 'react';
import type { TestIdProp, WithAttributes } from '../../types';
import type { FormFieldProps } from '../FormField';
import type { FormControlProps } from '../FormControl';
import type { RadioCheckProps } from '../RadioCheck';
import type { elements } from '../FormField/FormField.test-ids';
export type RadioCheckGroupProps = WithAttributes<'fieldset', TestIdProp<typeof elements> & {
    /** Accepts Checkboxes or RadioButtons as children. */
    children: ReactElement | ReactElement[];
    /**
     * Conveniently pass an onChange handler to the group to be notified when any of the inputs change.
     * Additionally, onChange can be passed to individual children.
     * Both handlers will be called, child followed by group.
     */
    onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
    /** Callback invoked when the clear button is clicked. If provided will render the clear button. */
    onClear?: FormFieldProps['onClear'];
    /** Set visual state based on a validation state. */
    status?: FormControlProps['status'];
    /** Pass a string or a fragment with an Icon and string. */
    label?: FormControlProps['label'];
    /** Visually hides the label region. */
    labelHidden?: FormControlProps['labelHidden'];
    /** It is recommended to pass a simple string to offer guidance. Text will be styled based on status prop. */
    info?: FormControlProps['info'];
    /** Indicate if the field is required. The browser defaults to false. */
    required?: FormControlProps['required'];
    /** Disable the control. The browser defaults to false. */
    disabled?: FormControlProps['disabled'];
    /** Makes the input non editable and non clickable. The browser defaults to false. */
    readOnly?: FormControlProps['readOnly'];
    /**
     * Layout field elements inline in a row.
     * @default false
     */
    inline?: FormFieldProps['inline'];
    /** Used to toggle the auto stacking feature of an inlined group.
     * @default true
     */
    autoStack?: boolean;
    /** Sets html name attribute for the underlying control. Useful for mapping to a data field. */
    name?: FormControlProps['name'];
    /**
     * Controls the styling of the child RadioChecks.
     * @default 'simple'
     */
    variant?: RadioCheckProps['variant'] | 'card-grid';
    /** Pass a heading and content to show additional information on the field. */
    additionalInfo?: FormControlProps['additionalInfo'];
    /** Ref forwarded to the wrapping element. */
    ref?: Ref<HTMLElement>;
}>;
export declare const StyledRadioCheckGroup: import("styled-components").StyledComponent<"fieldset", import("styled-components").DefaultTheme, {}, never>;
declare const _default: import("react").ForwardRefExoticComponent<Omit<RadioCheckGroupProps, "ref"> & import("react").RefAttributes<HTMLElement>> & {
    getTestIds: (testIdProp?: TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly ["label", "info", "additional-info", "suggestion-accept", "suggestion-reject"]>;
};
export default _default;
//# sourceMappingURL=RadioCheckGroup.d.ts.map