import type { ReactNode, InputHTMLAttributes, ChangeEventHandler, FocusEventHandler, Ref } from 'react';
import { Radio } from '../../atoms/Radio/Radio';
import type { CheckableLayoutProps, CheckableProps, CheckableValueType } from '../../atoms/Checkable/types';
import type { Checkbox } from '../../atoms/Checkbox/Checkbox';
export declare type CheckableOption<V extends CheckableValueType> = CheckableProps<V> & {
    content: ReactNode;
};
declare type LegendMode = 'screen-reader-only' | 'visible';
declare type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'value' | 'size'>;
export declare type CheckableGroupProps<V extends CheckableValueType> = InputProps & {
    legend: string;
    legendMode?: LegendMode;
    name: string;
    options: CheckableOption<V>[];
    onChange?: ChangeEventHandler<HTMLInputElement>;
    onBlur?: FocusEventHandler<HTMLInputElement>;
    className?: string;
    innerRef?: Ref<HTMLInputElement>;
} & CheckableLayoutProps;
export declare function CheckableGroup(Comp: typeof Radio | typeof Checkbox): <V extends CheckableValueType>({ legend, legendMode, checkableLayout, checkableSize, name, options: checkableOptions, onChange, onBlur, innerRef, className, }: CheckableGroupProps<V>) => JSX.Element;
export {};
//# sourceMappingURL=CheckableGroup.d.ts.map