import type { ImgHTMLAttributes } from 'react';
/** Subset of module product fields used for card and detail-panel preview images. */
export type ModuleProductPreviewSource = {
hasImage: boolean;
imageUrl: string;
cutoutImage?: string;
heroImage?: string;
images?: string[];
};
/**
* Up to two distinct preview URLs: cutout, hero, then gallery — same order as the module detail panel.
*/
export declare function getModuleProductPreviewImageUrls(product: ModuleProductPreviewSource): string[];
/** Media-studio style tiers for the primary module list image (from OV25 product metadata). */
export type ModuleProductImageUrls = {
thumbnail?: string;
small_image?: string;
image?: string;
hero?: string;
original?: string;
};
/**
* `src` / `srcSet` / `sizes` for module card / InitialiseMenu thumbs when OV25 sends {@link ModuleProductImageUrls}.
* Falls back to plain `src` when only a single URL is available.
*/
export declare function getModuleProductImageResponsiveAttrs(imageUrl: string, imageUrls?: ModuleProductImageUrls | null, sizes?: string): Pick, 'src' | 'srcSet' | 'sizes'>;