import { RefObject } from 'react';
interface UseCarouselMovementArgs {
    activeIndex: number;
    auto: number;
    initialIndex: number;
    length: number;
    onSlideChange: (slide: number) => void;
    setSlideCustom?: (slide: number) => number;
    slideGap: number;
    slidesAtOnce: number;
    slidesToSlide: number;
    viewportRef: RefObject<HTMLDivElement>;
}
export declare const useCarouselMovement: ({ activeIndex, auto, initialIndex, length, onSlideChange, setSlideCustom, slideGap, slidesAtOnce, slidesToSlide, viewportRef, }: UseCarouselMovementArgs) => {
    gestureBinds: (...args: any[]) => import('@use-gesture/react/dist/declarations/src/types').ReactDOMAttributes;
    maxSlide: number;
    nextSlide: () => void;
    previousSlide: () => void;
    slide: number;
    trackStyle: {
        transform: import('react-spring').Interpolation<number, string>;
        willChange: string;
        touchAction: string;
    };
    updateSlide: (index: number) => void;
};
export {};
