type InputEvent = TouchEvent | MouseEvent; type ValidEvent = 'touchstart' | 'touchmove' | 'touchend' | 'mousedown' | 'mousemove' | 'mouseup'; interface EventMap { [key: string]: ValidEvent; startEvent: 'touchstart' | 'mousedown'; moveEvent: 'touchmove' | 'mousemove'; endEvent: 'touchend' | 'mouseup'; } export declare class XEvent { x: number; y: number; type: 'touch' | 'mouse'; eventMap: EventMap; constructor(event: InputEvent); } export declare class XEvents { history: Array; protected _lastEvent?: XEvent; get lastEvent(): XEvent | undefined; set lastEvent(event: XEvent | undefined); historyLimit: number; add(event: XEvent): void; isTouch(): boolean; isMouse(): boolean; } export {};