// Type definitions for react-image-gallery 0.8 // Project: https://github.com/xiaolin/react-image-gallery // Definitions by: Adam Webb // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 import * as React from 'react'; export interface ReactImageGalleryItem { original?: string; thumbnail?: string; originalClass?: string; thumbnailClass?: string; renderItem?(item?: ReactImageGalleryItem): React.ReactNode; renderThumbInner?(item?: ReactImageGalleryItem): React.ReactNode; originalAlt?: string; thumbnailAlt?: string; originalTitle?: string; thumbnailTitle?: string; thumbnailLabel?: string; description?: string; srcSet?: string; sizes?: string; } export interface ReactImageGalleryProps { items: ReactImageGalleryItem[]; infinite?: boolean; lazyLoad?: boolean; showNav?: boolean; showThumbnails?: boolean; thumbnailPosition?: 'top' | 'right' | 'bottom' | 'left'; showFullscreenButton?: boolean; useBrowserFullscreen?: boolean; showPlayButton?: boolean; showBullets?: boolean; showIndex?: boolean; autoPlay?: boolean; disableThumbnailScroll?: boolean; slideOnThumbnailHover?: boolean; disableArrowKeys?: boolean; disableSwipe?: boolean; defaultImage?: string; indexSeparator?: string; slideDuration?: number; swipingTransitionDuration?: number; slideInterval?: number; flickThreshold?: number; swipeThreshold?: number; stopPropagation?: boolean; preventDefaultTouchmoveEvent?: boolean; startIndex?: number; onImageError?: (event: React.ReactEventHandler) => void; onThumbnailError?: (event: React.ReactEventHandler) => void; onThumbnailClick?: (event: React.MouseEventHandler, index: number) => void; onImageLoad?: (event: React.ReactEventHandler) => void; onSlide?: (currentIndex: number) => void; onScreenChange?: (fullScreenElement: Element) => void; onPause?: (currentIndex: number) => void; onPlay?: (currentIndex: number) => void; onClick?: (event: React.MouseEventHandler) => void; onTouchMove?: (event: React.TouchEventHandler) => void; onTouchEnd?: (event: React.TouchEventHandler) => void; onTouchStart?: (event: React.TouchEventHandler) => void; onMouseOver?: (event: React.MouseEventHandler) => void; onMouseLeave?: (event: React.MouseEventHandler) => void; renderCustomControls?: () => React.ReactNode; renderItem?: (item: ReactImageGalleryItem) => React.ReactNode; renderThumbInner?: (item: ReactImageGalleryItem) => React.ReactNode; renderLeftNav?: (onClick: React.MouseEventHandler, isDisabled: boolean) => React.ReactNode; renderRightNav?: (onClick: React.MouseEventHandler, isDisabled: boolean) => React.ReactNode; renderPlayPauseButton?: (onClick: React.MouseEventHandler, isPlaying: boolean) => React.ReactNode; renderFullscreenButton?: (onClick: React.MouseEventHandler, isFullscreen: boolean) => React.ReactNode; } declare class ReactImageGallery extends React.Component { play: (callback?: boolean) => void; pause: (callback?: boolean) => void; fullScreen: () => void; exitFullScreen: () => void; slideToIndex: (index: number) => void; getCurrentIndex: () => void; } export default ReactImageGallery;