/**
 * Copyright Aquera Inc 2025
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import type NileCarouselItem from './nile-carousel-item/nile-carousel-item';
export declare function isCarouselItem(element: HTMLElement): boolean;
export declare function findMostVisibleSlide(slides: NileCarouselItem[], scrollContainer: HTMLElement): NileCarouselItem | null;
export declare function getPageCount(slidesCount: number, slidesPerPage: number, slidesPerMove: number): number;
export declare function getCurrentPage(activeSlide: number, slidesPerMove: number): number;
export declare function canScrollNext(currentPage: number, pageCount: number, loop?: boolean): boolean;
export declare function canScrollPrev(currentPage: number, loop?: boolean): boolean;
export declare function shouldSnapToSlide(slideIndex: number, slidesPerMove: number): boolean;
export declare function calculateScrollPosition(slideRect: DOMRect, containerRect: DOMRect, containerScrollLeft: number, containerScrollTop: number): {
    left: number;
    top: number;
};
export declare function scrollToSlide(slide: HTMLElement, scrollContainer: HTMLElement, behavior: ScrollBehavior | undefined, setPendingSlideChange: (value: boolean) => void): void;
export declare function goToSlide(index: number, slides: HTMLElement[], slidesPerPage: number, behavior?: ScrollBehavior, loop?: boolean): {
    newActiveSlide: number;
    slideToScroll: HTMLElement;
} | null;
