import { CreateSlotsAndSlotProps, SlotCommonProps, SlotProps } from '../types/slot'; import { OverrideProps } from '@mui/types'; export type ListItemSlot = 'root'; export interface ListItemSlots { /** * The component that renders the root. * @default 'li' */ root?: React.ElementType; } export type ListItemSlotsAndSlotProps = CreateSlotsAndSlotProps; }>; export interface ListItemTypeMap

{ props: P & ListItemSlotsAndSlotProps & { /** * The content of the component. */ children?: React.ReactNode; /** * Whether the component should ignore user interaction. * @default false */ disabled?: boolean; /** * If `true`, the component can contain NestedList. * @default false */ nested?: boolean; /** * If `true`, the component has sticky position (with top = 0). * @default false */ sticky?: boolean; }; defaultComponent: D; } export type ListItemProps = OverrideProps, D>; export interface ListItemOwnerState extends ListItemProps { /** * If `true`, the element is rendered in a horizontal list. * @internal */ row: boolean; /** * If `true`, the element is rendered in a wrapped list. * @internal */ wrap: boolean; /** * If `true`, the element is rendered in a nested list item. */ nesting: boolean | string; /** * @internal * The internal prop for controlling CSS margin of the element. */ 'data-first-child'?: boolean; }