import { Properties } from './interfaces';
import { EventEmitter } from "@angular/core";
export declare class IvyPinch {
    private readonly properties;
    private touches;
    private readonly element;
    private readonly elementTarget;
    private parentElement;
    scale: number;
    private initialScale;
    private elementPosition;
    private eventType;
    private startX;
    private startY;
    private moveX;
    private moveY;
    private initialMoveX;
    private initialMoveY;
    private moveXC;
    private moveYC;
    private distance;
    private initialDistance;
    maxScale: number;
    private defaultMaxScale;
    private initialPinchCenterX;
    private initialPinchCenterY;
    private zoomChanged;
    get minPanScale(): number;
    get fullImage(): {
        path: string;
        minScale?: number;
    };
    constructor(properties: Properties, zoomChanged: EventEmitter<number>);
    private handleTouchstart;
    private handleTouchend;
    private handlePan;
    private handleDoubleTap;
    private handlePinch;
    private handleWheel;
    private handleResize;
    private handleLimitZoom;
    private moveLeft;
    private moveTop;
    private centeringImage;
    private limitPanY;
    private limitPanX;
    private setBasicStyles;
    private removeBasicStyles;
    private setDraggableImage;
    private removeDraggableImage;
    private setImageSize;
    private setAutoHeight;
    private removeImageSize;
    private getElementPosition;
    private getTouchstartPosition;
    private getClientPosition;
    private resetScale;
    private updateInitialValues;
    private getDistance;
    private getImageHeight;
    private getImageWidth;
    private transformElement;
    private isTouchScreen;
    private getMatchMedia;
    isDragging(): boolean;
    detectLimitZoom(): void;
    private pollLimitZoomForOriginalImage;
    private getMaxScaleForOriginalImage;
    private getImageElement;
    private getImageElements;
    toggleZoom(event?: TouchEvent | boolean): void;
    zoomIn(value: number): number;
    zoomOut(value: number): number;
    private setZoom;
    private alignImage;
    destroy(): void;
    private getPropertiesValue;
}
