import React from 'react'; import type { Photo } from '../../../types'; export interface BaseGalleryLayoutProps { photos: Photo[]; slug: string; onPhotoClick: (index: number) => void; onDownload: (photo: Photo, e: React.MouseEvent) => void; selectedPhotos?: Set; isSelectionMode?: boolean; onPhotoSelect?: (photoId: number) => void; eventName?: string; eventLogo?: string | null; eventDate?: string; expiresAt?: string; allowDownloads?: boolean; protectionLevel?: 'basic' | 'standard' | 'enhanced' | 'maximum'; useEnhancedProtection?: boolean; feedbackEnabled?: boolean; feedbackOptions?: { allowLikes?: boolean; allowFavorites?: boolean; allowRatings?: boolean; allowComments?: boolean; requireNameEmail?: boolean; }; } export abstract class BaseGalleryLayout extends React.Component { abstract render(): React.ReactNode; }