import { AnimationType } from './Animation';
import { AxisType } from './Axis';
import { CounterType } from './Counter';
import { DirectionType } from './Direction';
import { DragHandlerType } from './DragHandler';
import { EventHandlerType } from './EventHandler';
import { EventStoreType } from './EventStore';
import { LimitType } from './Limit';
import { OptionsType } from './Options';
import { PercentOfViewType } from './PercentOfView';
import { ScrollBodyType } from './ScrollBody';
import { ScrollBoundsType } from './ScrollBounds';
import { ScrollLooperType } from './ScrollLooper';
import { ScrollProgressType } from './ScrollProgress';
import { ScrollTargetType } from './ScrollTarget';
import { ScrollToType } from './ScrollTo';
import { SlideLooperType } from './SlideLooper';
import { SlidesInViewType } from './SlidesInView';
import { SlidesToScrollType } from './SlidesToScroll';
import { TranslateType } from './Translate';
import { Vector1DType } from './Vector1d';
export type EngineType = {
    axis: AxisType;
    direction: DirectionType;
    animation: AnimationType;
    scrollBounds: ScrollBoundsType;
    scrollLooper: ScrollLooperType;
    scrollProgress: ScrollProgressType;
    index: CounterType;
    indexPrevious: CounterType;
    limit: LimitType;
    location: Vector1DType;
    options: OptionsType;
    percentOfView: PercentOfViewType;
    scrollBody: ScrollBodyType;
    dragHandler: DragHandlerType;
    eventStore: EventStoreType;
    slideLooper: SlideLooperType;
    slidesInView: SlidesInViewType;
    slidesToScroll: SlidesToScrollType;
    target: Vector1DType;
    translate: TranslateType;
    scrollTo: ScrollToType;
    scrollTarget: ScrollTargetType;
    scrollSnaps: number[];
    slideIndexes: number[];
    containerRect: DOMRect;
    slideRects: DOMRect[];
};
export declare function Engine(root: HTMLElement, container: HTMLElement, slides: HTMLElement[], options: OptionsType, eventHandler: EventHandlerType): EngineType;
