declare type GetKey = (item: ITEM) => string | number; declare type GetOnChange = (item: ITEM) => (e: EVENT) => void; declare type GetChecked = (item: ITEM) => boolean; declare type UseChoiceGroupValues = { 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 UseChoiceGroupProps = CommonProps & (PropsWithMultiple | PropsWithoutMultiple); export declare function useChoiceGroup(props: UseChoiceGroupProps): UseChoiceGroupValues; export {};