import type { ProductMedia } from "../Commerce/commerceTypes"; export type FrameZoom = { scale: number; x: number; y: number; }; type MediaFrameProps = { media: ProductMedia; alt: string; fit?: "cover" | "contain"; /** False for frames the viewer is not looking at: lazy-loads images and stops any playing video. */ active?: boolean; eager?: boolean; autoPlay?: boolean; zoom?: FrameZoom; surface?: string; playLabel: string; unavailableLabel: string; }; /** One frame: skeleton, then image fade-in with the ratio already reserved; broken images become a tile. */ export declare const FrameImage: ({ src, alt, fit, eager, zoom, unavailableLabel, }: { src: string; alt: string; fit: "cover" | "contain"; eager: boolean; zoom?: FrameZoom; unavailableLabel: string; }) => import("react/jsx-runtime").JSX.Element; /** Image, or a video that shows its poster behind a play button until asked to play. */ declare const MediaFrame: ({ media, alt, fit, active, eager, autoPlay, zoom, surface, playLabel, unavailableLabel, }: MediaFrameProps) => import("react/jsx-runtime").JSX.Element; export default MediaFrame;