UPDATE
TypeScript 1.5.3 added declarations for HTML Touch events to lib.d.ts
I can see that it supports UIEven
You have several options here:
First option: Extend UIEvent to have the members you'd expect on a TouchEvent (and only use them in touch event listeners):
interface UIEvent {
targetTouches: { pageX: number; pageY: number; }[];
// etc...
}
Second option: Define your own TouchEvent interface and add a type assertion when binding the event
interface TouchEvent {
(event: TouchEventArgs): void;
}
interface TouchEventArgs {
targetTouches: { pageX: number; pageY: number; }[];
// etc
}
theElement.addEventListener("touchstart", ((theTouchEvent:TouchEvent) => alert("touchy")));