/**
 * ItemGrid – generic grid of items (primitive)
 *
 * Domain-agnostic: accepts any items[] and onItemClick. Renders ItemCard by default
 * or custom renderItem. Use for search hits, section blocks, docs, articles; for
 * product-only lists use ProductGrid.
 */
import React from 'react';
import { type GenericItem } from './ItemCard';
export interface ItemGridProps<T = GenericItem> {
    items: T[];
    onItemClick?: (item: T, index: number) => void;
    /** Map item to GenericItem for default ItemCard rendering */
    getItemId?: (item: T) => string;
    getItemTitle?: (item: T) => string;
    getItemImage?: (item: T) => string | undefined;
    getItemDescription?: (item: T) => string | undefined;
    getItemUrl?: (item: T) => string | undefined;
    /** Custom render for each item; overrides default ItemCard */
    renderItem?: (item: T, index: number) => React.ReactNode;
    maxItems?: number;
    columns?: number;
    className?: string;
    style?: React.CSSProperties;
    gridClassName?: string;
}
export declare function ItemGrid<T = GenericItem>({ items, onItemClick, getItemId, getItemTitle, getItemImage, getItemDescription, getItemUrl, renderItem, maxItems, columns, className, style, gridClassName, }: ItemGridProps<T>): React.JSX.Element | null;
//# sourceMappingURL=ItemGrid.d.ts.map