/**
 * ProductCardLayouts – internal layout sub-components for ProductCard
 *
 * Not exported from the package. Each layout renders the same product data
 * with different visual emphasis.
 */
import React from 'react';
import type { ActionButton } from '../primitives/ActionButtons';
import type { ProductItem, ProductBadge, PriceRange, ProductOption, ProductVariant } from '@seekora-ai/ui-sdk-types';
import type { ProductDisplayConfig } from '../suggestions/types';
export interface LayoutProps {
    product: ProductItem;
    images: string[];
    title: string;
    price: number | null;
    comparePrice: number | null;
    brand: string | null;
    badges: ProductBadge[];
    priceRange: PriceRange | null;
    options: ProductOption[];
    variants: ProductVariant[];
    displayConfig: ProductDisplayConfig;
    imageVariant: 'single' | 'carousel' | 'hover' | 'thumbStrip' | 'thumbList';
    onVariantHover?: (optionName: string, value: string) => void;
    onVariantClick?: (optionName: string, value: string) => void;
    selectedVariants?: Record<string, string>;
    actionButtons?: ActionButton[];
    actionButtonsPosition?: 'overlay-top-right' | 'overlay-bottom' | 'inline';
    showActionLabels?: boolean;
    enableImageZoom?: boolean;
    imageZoomMode?: 'hover' | 'lens' | 'click' | 'both';
    imageZoomLevel?: number;
}
/** minimal: image, title, price (current default behavior) */
export declare function MinimalLayout({ images, title, price, product, imageVariant, displayConfig, enableImageZoom, imageZoomMode, imageZoomLevel }: LayoutProps): React.JSX.Element;
/** standard: image, badges, brand, title, price + compare price, color swatches */
export declare function StandardLayout({ images, title, price, comparePrice, brand, badges, options, variants, product, imageVariant, displayConfig, onVariantHover, onVariantClick, selectedVariants, actionButtons, actionButtonsPosition, showActionLabels, enableImageZoom, imageZoomMode, imageZoomLevel, }: LayoutProps): React.JSX.Element;
/** detailed: image, badges, brand, title, price + compare + discount, rating, all swatches, stock */
export declare function DetailedLayout({ images, title, price, comparePrice, brand, badges, priceRange, options, variants, product, imageVariant, displayConfig, onVariantHover, onVariantClick, selectedVariants, actionButtons, actionButtonsPosition, showActionLabels, enableImageZoom, imageZoomMode, imageZoomLevel, }: LayoutProps): React.JSX.Element;
/** compact: smaller image, 1-line title, price */
export declare function CompactLayout({ images, title, price, product, imageVariant, displayConfig, enableImageZoom, imageZoomMode, imageZoomLevel }: LayoutProps): React.JSX.Element;
/** horizontal: image left + content right (title, brand, price, swatches) */
export declare function HorizontalLayout({ images, title, price, comparePrice, brand, badges, options, variants, product, imageVariant, displayConfig, onVariantHover, onVariantClick, selectedVariants, actionButtons, actionButtonsPosition, showActionLabels, enableImageZoom, imageZoomMode, imageZoomLevel, }: LayoutProps): React.JSX.Element;
//# sourceMappingURL=ProductCardLayouts.d.ts.map