import { Generic } from "cmf.core/src/core";
import * as ng from "@angular/core";
import { ZoomAndPanNavigationService } from "./zoomAndPanNavigationService";
/**
* @What it does
* This directive allows a specific element in the DOM to become panoramic (allowing zoom and pan with the mouse)
*
* @HotToUse
* There must be two Elements. The parent plays the role of the viewport and the child, the role of the paper.
* It will allow to have a panoramic view of the paper. Note that the paper must be much bigger than viewport.
* IMPORTANT: child element must have this attribute: **cmf-core-controls-zoomAndPan-paper**
*
* ## Inputs
*
* ## Outputs
* * `{x: number, y: number}` : **localMousePointChange** - Returns the current local mouse point in the paper
* * `{x: number, y: number}` : **navigationMapChange** - When the navigation map of the paper changes
*
* ## Example
*
* Assume this HTML Template
*
* ```html
*
*
* ```
*/
export declare class ZoomAndPanNavigationMap extends Generic implements ng.OnDestroy, ng.AfterViewInit {
private el;
private _ngZone;
private navigationService;
private updateNavigationMapSubscription;
private image;
private viewport;
private mouseCurrentX;
private mouseCurrentY;
private mouseLastX;
private mouseLastY;
private isMousePressed;
/**
* Constructor
*/
constructor(el: ng.ElementRef, _ngZone: ng.NgZone, navigationService: ZoomAndPanNavigationService);
/**
* Get mouse coordinates
*/
private getMouseCoordinates;
/**
* On mouse wheel
* @param {MouseEvent} event
*/
private mouseWheel;
/**
* On mouse move
* @param {MouseEvent} event
*/
private mouseMove;
/**
* On mouse down
* @param {MouseEvent} event
*/
private mouseDown;
/**
* On mouse up
* @param {MouseEvent} event
*/
private mouseUp;
/**
* Zoom
* @param {number} amount
*/
private setZoom;
/**
* Drag by
* @param {number} x
* @param {number} y
*/
private drag;
/**
* Update navigation map
*/
updateNavigationMap: (mapDataURL: string) => void;
/**
* On component destruction - unsubscribe event.
*/
ngOnDestroy(): void;
/**
* After view init
*/
ngAfterViewInit(): void;
}
export declare class ZoomAndPanNavigationMapModule {
}