/// <reference types="react" />
import CoordinatesRecognizer from './CoordinatesRecognizer';
export declare const TAP_DISTANCE_THRESHOLD = 3;
export declare const SWIPE_MAX_ELAPSED_TIME = 220;
export declare class DragRecognizer extends CoordinatesRecognizer<'drag'> {
    readonly ingKey = "dragging";
    readonly stateKey = "drag";
    /**
     * TODO add back when setPointerCapture is widely wupported
     * https://caniuse.com/#search=setPointerCapture
     * private setPointers = (event: UseGestureEvent<PointerEvent>) => {
     *   const { currentTarget, pointerId } = event
     *   if (currentTarget) currentTarget.setPointerCapture(pointerId)
     *   this.updateGestureState({ currentTarget, pointerId })
     * }
  
     * private removePointers = () => {
     *   const { currentTarget, pointerId } = this.state
     *   if (currentTarget && pointerId) currentTarget.releasePointerCapture(pointerId)
     * }
     */
    onDragStart: (event: React.PointerEvent | PointerEvent) => void;
    startDrag(event: React.PointerEvent | PointerEvent): void;
    onDragChange: (event: PointerEvent) => void;
    onDragEnd: (event: PointerEvent) => void;
    clean: () => void;
    onCancel: () => void;
    onClick: (event: React.UIEvent | UIEvent) => void;
    addBindings(bindings: any): void;
}
