declare type GetKey = (item: ITEM) => string | number; declare type GetOnChange = (item: ITEM) => (e: EVENT) => void; declare type GetChecked = (item: ITEM) => boolean; declare type Values = { getOnChange: GetOnChange; getChecked: GetChecked; }; declare type CallbackWithMultiple = (props: { e: EVENT; value: ITEM[] | null; }) => void; declare type CallbackWithoutMultiple = (props: { e: EVENT; value: ITEM; }) => void; declare type PropsWithMultiple = { multiple: true; value: ITEM[] | null; callBack: CallbackWithMultiple; }; declare type PropsWithoutMultiple = { multiple: false; value: ITEM | null; callBack: CallbackWithoutMultiple; }; declare type CommonProps = { getKey: GetKey; }; declare type Props = CommonProps & (PropsWithMultiple | PropsWithoutMultiple); export declare function useChoiceGroup({ value: valueProp, getKey, callBack: callBackProp, multiple, }: Props): Values; export {};