import { SxProps } from '../styles/types'; export type SlotCommonProps = { component?: React.ElementType; sx?: SxProps; }; export type SlotProps = (Omit, 'color'> & TOverrides & SlotCommonProps & Record) | ((ownerState: TOwnerState) => Omit, 'color'> & TOverrides & SlotCommonProps & Record); /** * Use the keys of `Slots` to make sure that K contains all of the keys * * @example CreateSlotsAndSlotProps<{ root: React.ElementType, decorator: React.ElementType }, { root: ..., decorator: ... }> */ export type CreateSlotsAndSlotProps> = { /** * The components used for each slot inside. * @default {} */ slots?: Slots; /** * The props used for each slot inside. * @default {} */ slotProps?: { [P in keyof K]?: K[P]; }; };