import * as React from 'react'; import useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react'; import { Button } from '../button'; type CarouselApi = UseEmblaCarouselType[1]; type UseCarouselParameters = Parameters; type CarouselOptions = UseCarouselParameters[0]; type CarouselPlugin = UseCarouselParameters[1]; type CarouselProps = { opts?: CarouselOptions; plugins?: CarouselPlugin; orientation?: 'horizontal' | 'vertical'; setApi?: (api: CarouselApi) => void; }; /** * Smooth horizontal (or vertical) content slider powered by Embla Carousel. * * @description * Built on embla-carousel. Slide sizing is controlled via Tailwind flex-basis * utilities on `` (e.g., `basis-1/3` for 3-up layouts). * * @ai-rules * 1. Always include `` and `` for interactive navigation controls. * 2. NEVER put infinite data tables inside a Carousel — use `` for scrollable lists. * 3. Each slide must be wrapped in ``. */ declare function Carousel({ orientation, opts, setApi, plugins, className, children, ...props }: React.ComponentProps<'div'> & CarouselProps): import("react/jsx-runtime").JSX.Element; declare function CarouselContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element; declare function CarouselItem({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element; declare function CarouselPrevious({ className, variant, size, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; declare function CarouselNext({ className, variant, size, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element; export { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, };