import { ReactNode } from "react";
export declare abstract class RadioOptionAdapter<T> {
    abstract labelOf(item: T): string;
    abstract idOf(item: T): string;
    renderOption(item: T): ReactNode;
    findById(items: T[], id: string): T | undefined;
}
interface RadioGroupProps<OptionT> {
    checkIcon?: React.ComponentType<CheckIconProps>;
    options: OptionT[];
    cols?: `grid-cols-${number}`;
    gap?: `gap-${number}`;
    value?: OptionT;
    onChange: (value: OptionT) => void;
    adapter: RadioOptionAdapter<OptionT>;
    checkColor?: string;
}
export declare function RadioGroup<OptionT>({ checkColor, cols, gap, value, onChange, options, checkIcon: CheckIcon, adapter }: RadioGroupProps<OptionT>): import("react/jsx-runtime").JSX.Element;
export interface CheckIconProps {
    size: number;
    isChecked: boolean;
    isHighlighted?: boolean;
    color?: string;
}
export {};
//# sourceMappingURL=RadioGroup.d.ts.map