import { default as React } from 'react'; import { CarouselThumbnailAction, CarouselTrailingThumbnail } from './CarouselThumbnails'; interface CarouselSlide { id: string; type: 'image' | 'video' | 'custom'; src?: string; alt?: string; videoId?: string; thumbnail?: string; content?: React.ReactNode; name?: string; description?: string; } type ThumbnailMode = 'inline' | 'hamburger'; interface CarouselProps { slides: CarouselSlide[]; activeIndex?: number; onSlideChange?: (index: number) => void; navigation?: 'dots' | 'arrows' | 'thumbnails' | 'none'; thumbnailPosition?: 'top' | 'bottom' | 'left' | 'right'; thumbnailMode?: ThumbnailMode; showThumbnailInfo?: boolean; autoplay?: boolean; autoplayInterval?: number; loop?: boolean; showArrows?: boolean; showDots?: boolean; lazyLoad?: boolean; swipeable?: boolean; className?: string; slideClassName?: string; aspectRatio?: string; ariaLabel?: string; showAutoplayToggle?: boolean; thumbnailActions?: CarouselThumbnailAction[]; trailingThumbnail?: CarouselTrailingThumbnail; onAddImages?: (files: File[]) => void; addImagesAccept?: string; addImagesDropLabel?: string; } declare function Carousel({ slides, activeIndex: controlledIndex, onSlideChange, navigation, thumbnailPosition, thumbnailMode, showThumbnailInfo, autoplay, autoplayInterval, loop, showArrows, showDots, lazyLoad, swipeable, className, slideClassName, aspectRatio, ariaLabel, showAutoplayToggle, thumbnailActions, trailingThumbnail, onAddImages, addImagesAccept, addImagesDropLabel, }: CarouselProps): React.JSX.Element; export { Carousel }; export type { CarouselProps, CarouselSlide, ThumbnailMode }; export type { CarouselThumbnailAction, CarouselTrailingThumbnail } from './CarouselThumbnails';