import { Data, PointerData, RETURN_FLAG } from './utils'; import { DefaultListener, ListenerArgs } from './listener'; export class Gesture { public __POINTERIDS__: number[] = []; public __REMOVED_POINTERS__: PointerData[] = []; public startEmitted: boolean = false; public args: ListenerArgs = {} as ListenerArgs; constructor(public listener: L, public data: D, public target: Element) { this.args.data = data; this.args.target = target; } public bind(target: Element, registerListener: (Type: T, element: Element, listener: Partial) => () => void, remove: () => void, evt: Event): void; public bind() { } public unbind(): number { return RETURN_FLAG.IDLE; } public start(args: ListenerArgs): number; public start() { return RETURN_FLAG.IDLE; } public update(args: ListenerArgs): number; public update() { return RETURN_FLAG.IDLE; } public end(args: ListenerArgs): number; public end() { return RETURN_FLAG.IDLE; }; public cancel(): number { return this.listener.cancel(); } public stop(): void { this.listener.stop(); } } export class DefaultGesture extends Gesture { }