import { RefObject } from 'react'; import { CarouselEngineState, CarouselTranslateFunction, CarouselVariant } from './Carousel.utils'; export type CarouselContextValue = { state: CarouselEngineState; scrollPrevious: () => void; scrollNext: () => void; scrollTo: (index: number) => void; variant: NonNullable; /** Theme passed to the navigation buttons, derived from `navigationControls.variant`. */ navigationControlsButtonTheme: 'light' | 'dark'; /** Custom `data-*` attributes for the previous navigation button. */ previousButtonProps?: { [key: `data-${string}`]: string | undefined; }; /** Custom `data-*` attributes for the next navigation button. */ nextButtonProps?: { [key: `data-${string}`]: string | undefined; }; /** Number of items to scroll per navigation action (for plural labels). */ itemsToScroll: number; /** Number of items visible in the viewport at once. */ effectiveItemsPerView: number; t: CarouselTranslateFunction; /** Whether arrow keys were used to navigate inside the scroll markers (tablist). */ arrowNavigatedInMarkers: RefObject; /** Ref to the scroll marker tablist element (for Tab focus management). */ scrollMarkerRef: RefObject; }; export declare const CarouselContext: import('react').Context; export declare const useCarouselContext: () => CarouselContextValue;