import { Registry } from './registry'; import { Gesture, DefaultGesture } from './gesture'; import { Listener, DefaultListener } from './listener'; import { Flow } from './flow'; import { Options, Data, Pointers } from './utils'; export interface PointersDelta { all: number; changed: number; } export interface ExecStrategyState { evt: Event; gestures: DefaultGesture[]; gesture: DefaultGesture; pointers: Pointers; pointersDelta: PointersDelta; } export declare type ExecStrategy = (state: ExecStrategyState) => number; export declare class Engine { private element; private registry; private flows; private activeFlow; private handles; private gestures; private composedGestures; constructor(element: Element | Document, registry?: Registry); registerGesture(Gesture: G, GestureOptions?: O, GestureListener?: L, GestureData?: D): void; registerFlow(flow: Flow): void; registerListener(Type: T, element: Element, listener: DefaultListener): () => void; activate(): (() => void)[][]; private canActivateFlow(flow); private getPointersDelta(evt, pointers, configuredPointers, configuredWhich); private removeGesture(gesture, ...arr); private evaluateStrategyReturnFlag(gesture, flag); private whileGestures(evt, gestures, pointers, execStrategy); private addPointerId(gesture, pointerId); private removePointerIds(map, gesture, changed); private getPointerIds(gesture); private getRemovedPointers(gesture); private getPointer(map, pointerId); private getPointers(map, pointerIds); private isLockedPointers(gesture, map); private startStrategy(state); private updateStrategy(state); private endStrategy(state); private cancelStrategy(state); private onStart(flow, evt, pointers); private onUpdate(flow, evt, pointers); private onEnd(flow, evt, pointers); private onCancel(flow, evt, pointers); private onStop(); private addGesture(Type, element, handle, evt); private composeGesture(Type, element, handle, evt); private matchesHandle(element, handle); private matchHandle(Type, element, handle, evt); private matchHandles(element, gestures, evt); private match(target, evt); }