import type { ReactNode } from 'react'; import type { BoxProps } from '@mui/material/Box'; import type { SxProps, Theme } from '@mui/material/styles'; export type MenuItemIndicatorVariant = 'unchecked' | 'checked' | 'indeterminate'; /** @deprecated Use `MenuItemIndicatorVariant` */ export type MenuItemCheckboxVariant = MenuItemIndicatorVariant; export interface MenuItemProps extends Omit { /** Highlights the item with a checked style */ isSelected?: boolean; /** Dims the item and blocks clicks */ isDisabled?: boolean; /** Shows the default indicator in the indeterminate state */ isIndeterminate?: boolean; /** * Leading selection indicator slot. * - `undefined` — default checkbox-style indicator driven by selection props * - `null` — no indicator (plain row) * - `ReactNode` — custom indicator (e.g. RadioButton, Icon, Checkbox from a composite) */ startAdornment?: ReactNode | null; /** Item label or content */ children?: ReactNode; /** MUI sx style overrides */ sx?: SxProps; }