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<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'srcSet' | 'sizes'>;
