import { AnimationType } from './Animation';
import { CounterType } from './Counter';
import { DirectionType } from './Direction';
import { DragTrackerType } from './DragTracker';
import { EventHandlerType } from './EventHandler';
import { AxisType } from './Axis';
import { ScrollBodyType } from './ScrollBody';
import { ScrollTargetType } from './ScrollTarget';
import { ScrollToType } from './ScrollTo';
import { Vector1DType } from './Vector1d';
import { PercentOfViewType } from './PercentOfView';
export type DragHandlerType = {
    addActivationEvents: () => void;
    clickAllowed: () => boolean;
    pointerDown: () => boolean;
    removeAllEvents: () => void;
};
export declare function DragHandler(axis: AxisType, direction: DirectionType, rootNode: HTMLElement, target: Vector1DType, dragTracker: DragTrackerType, location: Vector1DType, animation: AnimationType, scrollTo: ScrollToType, scrollBody: ScrollBodyType, scrollTarget: ScrollTargetType, index: CounterType, eventHandler: EventHandlerType, percentOfView: PercentOfViewType, loop: boolean, dragFree: boolean, skipSnaps: boolean): DragHandlerType;
