import * as React from 'react'; import { OverrideProps } from '@mui/types'; import { CreateSlotsAndSlotProps, SlotCommonProps, SlotProps } from '../../types/slot'; import { TagProps } from '../../Tag'; export interface CardMediaSlots { root?: React.ElementType; media?: React.ElementType; badge?: React.ElementType; } export type CardMediaSlotsAndSlotProps = CreateSlotsAndSlotProps; media: SlotProps<'div', object, CardMediaOwnerState>; badge: SlotProps<'div', Omit, CardMediaOwnerState>; }>; export interface CardMediaTypeMap

{ props: P & { /** * Image to be displayed as a background image. * Either `image` or `src` prop must be specified. * Note that caller must specify height for vertical cards or width for horizontal cards, otherwise the image will not be visible. */ image?: string; /** * An alias for `image` property. * Available only with media components. * Media components: `video`, `audio`, `picture`, `iframe`, `img`. */ src?: string; /** * The badge content displayed at the top-right corner of the media. * Rendered using the [Tag](https://zeroheight.com/9a7698df1/p/0108e2-tags) component. * If `undefined`, the badge will not be shown. */ badge?: string; } & CardMediaSlotsAndSlotProps & Pick; defaultComponent: D; } export type CardMediaProps = OverrideProps, D>; export interface CardMediaOwnerState extends CardMediaProps { isMediaComponent: boolean; isImageComponent: boolean; orientation: 'vertical' | 'horizontal'; disabled: boolean; }