import { Point } from '@vertexvis/geometry'; import { Disposable, Listener } from '@vertexvis/utils'; import { ConfigProvider } from '../config'; import { InteractionApi } from './interactionApi'; import { BaseEvent } from './interactionEvent'; import { InteractionHandler } from './interactionHandler'; import { PanInteraction, PivotInteraction, RotateInteraction, RotatePointInteraction, TwistInteraction, ZoomInteraction } from './mouseInteractions'; export type InteractionType = 'rotate' | 'zoom' | 'pan' | 'twist' | 'rotate-point' | 'pivot'; export declare abstract class BaseInteractionHandler implements InteractionHandler { protected downEvent: 'mousedown' | 'pointerdown'; protected upEvent: 'mouseup' | 'pointerup'; protected moveEvent: 'mousemove' | 'pointermove'; private rotateInteraction; private rotatePointInteraction; private zoomInteraction; private panInteraction; private twistInteraction; private pivotInteraction; private getConfig; protected interactionApi?: InteractionApi; protected element?: HTMLElement; protected downPosition?: Point.Point; private downPositionCanvas?; private primaryInteraction; private currentInteraction?; private draggingInteraction; private lastPrimaryRotateInteraction?; private isDragging; private lastMoveEvent?; private interactionTimer?; private keyboardControls; protected disableIndividualInteractions: boolean; private computedBodyStyle?; private primaryInteractionTypeChange; constructor(downEvent: 'mousedown' | 'pointerdown', upEvent: 'mouseup' | 'pointerup', moveEvent: 'mousemove' | 'pointermove', rotateInteraction: RotateInteraction, rotatePointInteraction: RotatePointInteraction, zoomInteraction: ZoomInteraction, panInteraction: PanInteraction, twistInteraction: TwistInteraction, pivotInteraction: PivotInteraction, getConfig: ConfigProvider); initialize(element: HTMLElement, api: InteractionApi): void; dispose(): void; onPrimaryInteractionTypeChange(listener: Listener): Disposable; setCurrentInteractionType(type?: InteractionType): void; getPrimaryInteractionType(): InteractionType; getCurrentInteractionType(): InteractionType; setPrimaryInteractionType(type: InteractionType): void; setDefaultKeyboardControls(keyboardControls: boolean): void; protected handleDownEvent(event: BaseEvent): void; protected handleWindowMove(event: BaseEvent): void; protected handleWindowUp(event: BaseEvent): Promise; protected handleDoubleClick(event: BaseEvent): Promise; protected beginDrag(event: BaseEvent): void; protected drag(event: BaseEvent): void; protected endDrag(event: BaseEvent): void; protected handleMouseWheel(event: WheelEvent): Promise; protected wheelDeltaToPixels(deltaY: number, deltaMode: number): number; protected getCanvasPosition(event: BaseEvent): Point.Point | undefined; protected isTouch(event: BaseEvent): boolean; }