import { Point } from '@vertexvis/geometry'; import { InteractionType } from './baseInteractionHandler'; import { InteractionApi, InteractionConfigProvider } from './interactionApi'; export declare abstract class MouseInteraction { protected currentPosition: Point.Point | undefined; protected abstract type: InteractionType; setPosition(position?: Point.Point): void; getPosition(): Point.Point | undefined; getType(): InteractionType; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi, element: HTMLElement): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; zoom(delta: number, api: InteractionApi): Promise; } export declare class RotateInteraction extends MouseInteraction { type: InteractionType; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; } export declare class RotatePointInteraction extends MouseInteraction { type: InteractionType; private startingPosition?; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; } export declare class ZoomInteraction extends MouseInteraction { private interactionConfigProvider; type: InteractionType; private didTransformBegin; private interactionTimer; private startPt?; constructor(interactionConfigProvider: InteractionConfigProvider); beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi, element: HTMLElement): Promise; drag(event: MouseEvent, api: InteractionApi): Promise; endDrag(event: MouseEvent, api: InteractionApi): void; zoom(delta: number, api: InteractionApi): Promise; zoomToPoint(pt: Point.Point, delta: number, api: InteractionApi): Promise; private beginInteraction; private endInteraction; private resetInteractionTimer; private getDirectionalDelta; private getInteractionDelay; private startInteractionTimer; private stopInteractionTimer; private operateWithTimer; } export declare class PanInteraction extends MouseInteraction { type: InteractionType; private canvasRect?; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi, element: HTMLElement): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; } export declare class TwistInteraction extends MouseInteraction { type: InteractionType; private canvasRect?; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi, element: HTMLElement): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; } export declare class PivotInteraction extends MouseInteraction { type: InteractionType; beginDrag(event: MouseEvent, canvasPosition: Point.Point, api: InteractionApi): void; drag(event: MouseEvent, api: InteractionApi): void; endDrag(event: MouseEvent, api: InteractionApi): void; }