///
import EventManager from '../EventManager.js';
import { Point } from '../../commons/Point.js';
import '../Serializable.js';
interface GestureRecognizerListener {
onTap?(point: Point, event: Event): void;
onHover?(isHover: boolean): void;
onPress?(): void;
onRelease?(): void;
}
/**
* GestureRecognizer provides unified gesture and button event handling across all input types.
* Combines tap gesture detection with button-specific interactions (click, hover, pressed state).
* Provides cross-browser compatibility through PointerEventsDetector fallbacks.
*/
declare class GestureRecognizer extends EventManager {
protected element: HTMLElement;
private isHover;
private readonly _onTouchStart;
private readonly _onTouchEnd;
private readonly _onPointerDown;
private readonly _onPointerUp;
private readonly _onPointerEnter;
private readonly _onPointerLeave;
constructor(element: HTMLElement);
removeAllListeners(): void;
private setupEventListeners;
private onPointerDown;
private onPointerUp;
private onTouchStart;
private onTouchEnd;
private notifyPress;
private notifyRelease;
private onPointerEnter;
private onPointerLeave;
private notifyHover;
private pointRelativeToElement;
private onTap;
}
export { GestureRecognizer, type GestureRecognizerListener };