import { default as React, ReactNode } from 'react';
import { BaseProps } from '../../../libraries/common-types/src/common-types';
import { HeadingTagType } from '../../heading/src/heading';
import { RadioButtonGroupItem } from './radio-button-group-item';
export declare const RADIO_BUTTON_GROUP_DIRECTION: readonly ["ltr", "rtl"];
export declare const RADIO_BUTTON_GROUP_ORIENTATION: readonly ["horizontal", "vertical"];
export type RadioButtonGroupRootProps = Omit<BaseProps, "id"> & {
    /**
     * ID of the radio group container.
     * */
    id: string;
    /**
     * To use when no heading is given.
     * */
    ["aria-label"]?: string;
    /**
     * The value of the radio item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.
     * */
    defaultValue?: string;
    /**
     * The reading direction of the radio group. If omitted, it assumes LTR (left-to-right) reading mode.
     * */
    dir?: (typeof RADIO_BUTTON_GROUP_DIRECTION)[number];
    /**
     * When true, prevents the user from interacting with radio items.
     * */
    disabled?: boolean;
    /**
     * The radio items.
     *
        RadioButtonGroupItem = {
          ["data-testid"]?: string;
          disabled?: boolean;
          helperText?: string;
          id: string;
          label: string;
          ref?: Ref<HTMLButtonElement>;
          value: string;
        }[]
     * */
    items?: RadioButtonGroupItem[];
    /**
     * Radio group children. Best used with `RadioButtonGroup.Item`.
     */
    children?: ReactNode;
    /**
     * When true, keyboard navigation will loop from last item to first, and vice versa.
     * */
    loop?: boolean;
    /**
     * The name of the group. Submitted with its owning form as part of a name/value pair.
     * */
    name?: string;
    /**
     * Event handler called when the value changes.
     * */
    onValueChange?: (value: string) => void;
    /**
     * The orientation of the component.
     * */
    orientation?: (typeof RADIO_BUTTON_GROUP_ORIENTATION)[number];
    /**
     * When true, indicates that the user must check a radio item before the owning form can be submitted.
     * */
    required?: boolean;
    /**
     * The controlled value of the radio item to check. Should be used in conjunction with onValueChange.
     * */
    value?: string;
    /**
     * Renders above the radio group as a heading.
     * */
    heading?: string;
    /**
     * Changes heading level for heading.
     */
    headingTag?: HeadingTagType;
};
export declare const RadioButtonGroupRoot: React.ForwardRefExoticComponent<Omit<RadioButtonGroupRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=radio-button-group-root.d.ts.map