import React, { forwardRef } from 'react'; import { default as MaterialUIListItem, ListItemProps } from '@material-ui/core/ListItem'; type ListItemRef = T extends true ? HTMLDivElement : HTMLLIElement; interface Props extends Omit { button?: T; } const ListItem = forwardRef(function ListItem( { button, ...props }: Props, ref: React.Ref> ) { // it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971 // eslint-disable-next-line @typescript-eslint/no-explicit-any return ; }); ListItem.defaultProps = { button: false, }; export default ListItem;