/** * @usevyre/react — Carousel + CarouselSlide * * AI CONTEXT: * ┌──────────────────────────────────────────────────────────────────┐ * │ Component: Carousel (+ CarouselSlide) │ * │ Import: import { Carousel, CarouselSlide } from "@usevyre/react" │ * │ │ * │ Accessible content slider (galleries / onboarding / testimonials).│ * │ CONTROLLED by a 0-based slide index. Slide order = index. │ * │ │ * │ │ * │ value? = number (controlled active slide) │ * │ defaultValue = number (uncontrolled, default 0) │ * │ onChange? = (index: number) => void │ * │ loop? = boolean (wrap past the ends) │ * │ autoPlay? = boolean interval = ms (default 5000) │ * │ showArrows? = boolean (default true) │ * │ showIndicators= boolean (default true) │ * │ any content │ * │ │ * │ Snap scrolling, clickable dot indicators, ←/→ keyboard, │ * │ autoplay pauses on hover/focus. │ * └──────────────────────────────────────────────────────────────────┘ * * @example * const [i, setI] = useState(0); * * A * B * */ import React from "react"; import type { BaseProps } from "../../types"; export interface CarouselSlideProps extends BaseProps { children?: React.ReactNode; } export declare const CarouselSlide: React.ForwardRefExoticComponent>; export interface CarouselProps extends Omit, "onChange">, BaseProps { value?: number; defaultValue?: number; onChange?: (index: number) => void; loop?: boolean; autoPlay?: boolean; /** Autoplay interval in ms */ interval?: number; showArrows?: boolean; showIndicators?: boolean; children?: React.ReactNode; "aria-label"?: string; } export declare const Carousel: React.ForwardRefExoticComponent>;