export type LightboxImageItem = { type: 'image'; src: string; alt?: string; id?: string | number; blurDataURL?: string; }; export type LightboxVideoItem = { type: 'video'; videoUrl: string; videoTitle?: string; id?: string | number; }; export type MediaItem = LightboxImageItem | LightboxVideoItem; export interface UseLightboxOptions { lightboxItems: MediaItem[]; currentIndex: number; isOpen: boolean; onClose: () => void; onIndexChange: (idx: number) => void; } export interface LightboxProps { lightboxItems: MediaItem[]; currentIndex: number; isOpen: boolean; onClose: () => void; onIndexChange: (index: number) => void; className?: string; showNavigation?: boolean; showCounter?: boolean; showCloseButton?: boolean; } export type SwipeDirection = 'left' | 'right'; export interface LightboxImageComponentProps { src: string; alt?: string; width?: number; height?: number; className?: string; placeholder?: 'blur' | 'empty'; blurDataURL?: string; fill?: boolean; } export interface VideoComponentProps { src: string; title?: string; className?: string; allow: string; allowFullScreen?: boolean; isActive?: boolean; }