import { TimingFunction } from '../../utils';
import { ScrollAxis, ScrollAlign, UseCarouselLiteOptions } from './types';
/**
 * Подсчет скролла до переданного индекса.
 */
export declare const getCalculatedPos: ({ scrollEl, items, axis, index, offset, scrollAlign, }: {
    scrollEl: HTMLElement;
    items: HTMLCollectionOf<HTMLElement>;
    axis: ScrollAxis;
    index: number;
    offset: number;
    scrollAlign: ScrollAlign;
}) => number;
/**
 * Подсчет смещения из-за паддингов.
 */
export declare const getCalculatedOffset: (scrollEl: Element, trackEl: Element, axis: ScrollAxis) => number;
/**
 * Прокрутка к указанной позиции с анимацией или без.
 */
export declare const scrollToPos: ({ scrollEl, pos, axis, animated, duration, timingFunction, }: {
    scrollEl: HTMLElement;
    pos: number;
    axis: ScrollAxis;
    animated?: boolean;
    duration?: number;
    timingFunction?: TimingFunction;
}) => void;
/**
 * Получить позицию (слот) айтема в каруселе.
 * Каждый айтем имеет свой слот относительно вьюпорта карусели.
 */
export declare const getItemSlot: (itemIndex: number, itemEnd: number, itemSize: number, scrollStart: number, scrollSize: number, scrollAlign: ScrollAlign, prevIndex?: number, offset?: number) => number | null;
export declare function getCarouselItems(track: HTMLElement): HTMLCollectionOf<HTMLElement>;
/**
 * Делает расчет следующей позиции карусели исходя из параметров
 * index, align и размеров элементов track и carousel.
 * После применяет transform к элементу track или вызывает scrollTo на элементе carousel.
 * При scrollMode равном translate Анимирование происходит из-за CSS свойства `transition-property: transform`,
 * применённому к элементу track
 *
 * @param index индекс элемента к которому нужно сделать transform
 * @param prevIndex индекс предыдущего активного элемента для расчёта дистанции между индексами
 * @param axis ось вдоль которой будет происходить transform
 * @param align определяет позицию активного элемента относительно элемента carousel
 * @param track элемент к которому применяется transform
 * @param carousel элемент содержащий track
 * @param disableAnimation флаг для отключения анимирования прокрутки
 * @param scrollMode прокрутка через scrollTo или через translate
 */
export declare function translateToIndex(index: number, prevIndex: number, axis: UseCarouselLiteOptions['axis'], align: NonNullable<UseCarouselLiteOptions['scrollAlign']>, track: HTMLElement | null, carousel: HTMLElement | null, disableAnimation: boolean, scrollMode: NonNullable<UseCarouselLiteOptions['scrollMode']>): void;
