import * as react_jsx_runtime from 'react/jsx-runtime'; import { ReactNode, FC } from 'react'; import { EmblaOptionsType, EmblaPluginType } from 'embla-carousel-react'; type NavigationVariant = "dark" | "light"; interface CarouselIndicatorsProps { indicatorsList: number[]; selectedIndex: number; onClick: (index: number) => void; variant?: NavigationVariant; } interface CarouselButtonProps { displayed?: boolean; onClick?: () => void; variant?: NavigationVariant; className?: string; } type IndicatorsPosition = "inside" | "outside"; interface IndicatorsInterface { indicatorsPosition?: IndicatorsPosition; indicators?: boolean | ((props: CarouselIndicatorsProps) => ReactNode); indicatorsVariant?: NavigationVariant; } interface ArrowsInterface { arrowsVariant?: NavigationVariant; nextButton?: boolean | ((props: CarouselButtonProps) => ReactNode); prevButton?: boolean | ((props: CarouselButtonProps) => ReactNode); } interface EmblaCarouselProps { options?: Omit, "slides">; plugins?: EmblaPluginType[]; } interface BaseCarouselProps { slides: ReactNode[]; slidesWrapperClassName?: string; slideClassName?: string; } interface CarouselProps extends IndicatorsInterface, ArrowsInterface, EmblaCarouselProps, BaseCarouselProps { } interface SlidesCarouselProps extends ArrowsInterface, BaseCarouselProps { slidesToScroll?: number; experimentalDragScroll?: boolean; } declare const Carousel: { (props: CarouselProps): react_jsx_runtime.JSX.Element; Scroll: FC; }; export { Carousel, CarouselProps, SlidesCarouselProps };