import { SupportedEvents } from '../defs';
export declare class Events {
    private _el;
    private _events;
    private _types;
    private _x0;
    private _t0;
    private _holdThreshold;
    private _movePrecision;
    private _moveThreshold;
    private _hasTouchListener;
    private _hasMouseListener;
    constructor(_el: HTMLElement);
    on(name: SupportedEvents, cb: Function): void;
    destroy(): void;
    /**
     * Convert touch event with multiple fingers
     * to single one, similar to mouse event.
     * Needed to manage coordinates.
     */
    private static _unify;
    /**
     * Get pointer event
     * Supports MS prefixed events.
     */
    private static _pointerType;
    /**
     * Get HTML5 native event
     * Receives 'touchstart', returns 'ontouchstart'
     */
    private static _defaultType;
    private _bind;
    private _unbind;
    /**
     * First step, we lock initial time and coordinates.
     */
    private _lock;
    /**
     * Last step, do some calculation and trigger event callbacks.
     */
    private _release;
    private _move;
}
