import { default as React } from 'react'; import { ResponsiveValue } from '../layout/useBreakpoint'; export interface GalleryImage { /** Unique identifier */ id: string; /** Display name */ name: string; /** Image source URL or data URL */ src: string; /** Timestamp (ms since epoch) */ timestamp?: number; /** Optional short label shown as a pill over the thumbnail (e.g. "NEW"). */ badge?: string; /** Optional metadata */ metadata?: Record; } export interface ImageGalleryProps { /** Array of images */ images: GalleryImage[]; /** Number of columns (responsive) */ columns?: ResponsiveValue; /** Images per page (0 = no pagination) */ pageSize?: number; /** Download handler */ onDownload?: (image: GalleryImage) => void; /** Delete handler (shows delete button when provided) */ onDelete?: (image: GalleryImage) => void; /** Click handler */ onClick?: (image: GalleryImage) => void; /** Show lightbox on click (default true) */ lightbox?: boolean; /** Thumbnail height */ thumbnailHeight?: number; /** Empty state message */ emptyMessage?: string; /** New image badge count (shows badge on component) */ newCount?: number; /** Custom style */ style?: React.CSSProperties; } export declare const ImageGallery: React.NamedExoticComponent; export default ImageGallery;