import type { IEventTarget, INode } from '@visactor/vrender-core';
import { EventEmitter } from '@visactor/vutils';
import type { GestureConfig } from './interface';
export declare class Gesture extends EventEmitter {
    element: INode | null;
    private cachedEvents;
    private startTime;
    private pressTimeout;
    private startPoints;
    private processEvent;
    private startDistance;
    private center;
    private eventType;
    private direction;
    private lastMoveTime;
    private prevMoveTime;
    private prevMovePoint;
    private lastMovePoint;
    private throttleTimer;
    private emitThrottles;
    private config;
    private tapCount;
    private lastTapTime;
    private lastTapTarget;
    constructor(element: IEventTarget, config?: GestureConfig);
    initEvents(): void;
    removeEvents(): void;
    release(): void;
    private onStart;
    private onMove;
    private onEnd;
    private getEventType;
    private enable;
    private isProcess;
    private pushEvent;
    private clearPressTimeout;
    private reset;
    private triggerEvent;
    private triggerStartEvent;
    private triggerEndEvent;
    private emitEvent;
    private _callListeners;
}
