import { default as React, ReactNode, Ref } from 'react';
import { HeadingTagType } from '../../heading/src/heading';
import { RadioCardItemProps } from './radio-card-item';
export type RadioCardGroupItem = RadioCardItemProps & {
    ref?: Ref<HTMLDivElement>;
};
export declare const RADIO_CARD_GROUP_ORIENTATION: readonly ["horizontal", "vertical"];
export declare const RADIO_POSITION: readonly ["right", "left"];
type StylingProps = Pick<React.HTMLAttributes<HTMLElement>, "className" | "style">;
export type RadioCardGroupProps = StylingProps & {
    /**
     * To use when no heading is given.
     * */
    ["aria-label"]?: string;
    /**
     * To use with custom label.
     * */
    ["aria-labelledby"]?: string;
    ["data-testid"]?: string;
    /**
     * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.
     * */
    defaultValue?: string;
    /**
     * When true, prevents the user from interacting with radio card items.
     * */
    disabled?: boolean;
    /**
     * ID of the radio card group container.
     * */
    id: string;
    /**
     * The radio card items.
     * */
    items?: RadioCardGroupItem[];
    /**
     * Renders above the radio card group as a heading
     * */
    heading?: string;
    /**
     * Changes heading level for heading.
     */
    headingTag?: HeadingTagType;
    /**
     * 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;
    /**
     * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.
     * */
    orientation?: (typeof RADIO_CARD_GROUP_ORIENTATION)[number];
    /**
     * The position if the radio in the card items.
     * */
    radioPosition?: (typeof RADIO_POSITION)[number];
    /**
     * When true, indicates that the user must check a radio card item before the owning form can be submitted.
     * */
    required?: boolean;
    /**
     * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.
     * */
    value?: string;
    /**
     * Will only render given RadioCardItems.
     * */
    children?: ReactNode;
};
export declare const RadioCardGroup: React.ForwardRefExoticComponent<StylingProps & {
    /**
     * To use when no heading is given.
     * */
    "aria-label"?: string;
    /**
     * To use with custom label.
     * */
    "aria-labelledby"?: string;
    "data-testid"?: string;
    /**
     * The value of the radio card item that should be checked when initially rendered. Use when you do not need to control the state of the radio items.
     * */
    defaultValue?: string;
    /**
     * When true, prevents the user from interacting with radio card items.
     * */
    disabled?: boolean;
    /**
     * ID of the radio card group container.
     * */
    id: string;
    /**
     * The radio card items.
     * */
    items?: RadioCardGroupItem[];
    /**
     * Renders above the radio card group as a heading
     * */
    heading?: string;
    /**
     * Changes heading level for heading.
     */
    headingTag?: HeadingTagType;
    /**
     * 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;
    /**
     * Set to stack cards horizontally or vertically. When `horizontal`, the min card width with is 100% when container is sm, and `--purpur-breakpoint-lg` / 4 when the container is md or larger.
     * */
    orientation?: (typeof RADIO_CARD_GROUP_ORIENTATION)[number];
    /**
     * The position if the radio in the card items.
     * */
    radioPosition?: (typeof RADIO_POSITION)[number];
    /**
     * When true, indicates that the user must check a radio card item before the owning form can be submitted.
     * */
    required?: boolean;
    /**
     * The controlled value of the radio card item to check. Should be used in conjunction with onValueChange.
     * */
    value?: string;
    /**
     * Will only render given RadioCardItems.
     * */
    children?: ReactNode;
} & React.RefAttributes<HTMLDivElement>>;
export type { RadioCardItemProps } from './radio-card-item';
export { RadioCardItem } from './radio-card-item';
//# sourceMappingURL=radio-card-group.d.ts.map