import React from 'react'; import { type ShopifyImageProps } from './Image.js'; import { Video } from './Video.js'; import { ExternalVideo } from './ExternalVideo.js'; import { ModelViewer } from './ModelViewer.js'; import type { MediaEdge as MediaEdgeType } from './storefront-api-types.js'; import type { PartialDeep } from 'type-fest'; interface MediaFileProps { /** An object with fields that correspond to the Storefront API's [Media object](https://shopify.dev/api/storefront/reference/products/media). */ data: PartialDeep; /** The options for the `Image`, `Video`, or `ExternalVideo` components. */ mediaOptions?: { /** Props that will only apply when an `` is rendered */ image: Omit; /** Props that will only apply when a `