import * as React from "react"; import useEmblaCarousel from "embla-carousel-react"; type UseEmblaReturn = ReturnType; export type CarouselApi = UseEmblaReturn[1]; type CarouselContextValue = { canScrollPrev: boolean; canScrollNext: boolean; /** Index of the currently-selected snap (drives the active dot + value-at-rest). */ selectedIndex: number; /** One entry per scroll snap — `CarouselDots` renders one dot per item. */ scrollSnaps: number[]; api: CarouselApi | null; scrollPrev: () => void; scrollNext: () => void; scrollTo: (index: number) => void; }; export declare const useCarousel: () => CarouselContextValue; export declare const Carousel: React.ForwardRefExoticComponent, HTMLDivElement>, "ref"> & { opts?: Parameters[0]; plugins?: Parameters[1]; setApi?: (api: CarouselApi) => void; } & React.RefAttributes>; export declare const CarouselContent: React.ForwardRefExoticComponent, HTMLDivElement>, "ref"> & React.RefAttributes>; export declare const CarouselItem: React.ForwardRefExoticComponent, HTMLDivElement>, "ref"> & React.RefAttributes>; export declare const CarouselPrevious: React.ForwardRefExoticComponent, HTMLButtonElement>, "ref"> & React.RefAttributes>; export declare const CarouselNext: React.ForwardRefExoticComponent, HTMLButtonElement>, "ref"> & React.RefAttributes>; /** * Dot indicators — one round dot per scroll snap, the active one widened + filled. Reads the Embla * api from context (no `setApi` plumbing needed); each dot is a real `