import * as React from "react";
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
declare const RadioGroup: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const RadioGroupItem: React.ForwardRefExoticComponent<Omit<RadioGroupPrimitive.RadioGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
interface RadioGroupBlockOption {
    value: string;
    label: React.ReactNode;
    description?: React.ReactNode;
    disabled?: boolean;
    /** Optional trailing slot rendered at the end of the row (e.g. a discount tag) */
    trailing?: React.ReactNode;
}
interface RadioGroupBlockProps extends Omit<React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>, "children"> {
    options: RadioGroupBlockOption[];
    /**
     * - `separated` (default): each option is its own bordered card stacked with gaps.
     * - `grouped`: options share a single outer border with dividers between rows.
     */
    variant?: "separated" | "grouped";
    /** Error message displayed below the group (also triggers red borders) */
    error?: string;
    itemClassName?: string;
}
declare const RadioGroupBlock: React.ForwardRefExoticComponent<RadioGroupBlockProps & React.RefAttributes<HTMLDivElement>>;
export { RadioGroup, RadioGroupItem, RadioGroupBlock };
export type { RadioGroupBlockProps, RadioGroupBlockOption };
//# sourceMappingURL=radio-group.d.ts.map