export interface IvyPinchProperties {
    element: string;
    key?: string;
    doubleTap?: boolean;
    doubleTapScale?: number;
    zoomControlScale?: number;
    transitionDuration?: number;
    autoZoomOut?: boolean;
    limitZoom?: number | "original image size";
    disablePan?: boolean;
    limitPan?: boolean;
    minPanScale?: number;
    minScale?: number;
    eventHandler?: any;
    listeners?: "auto" | "mouse and touch";
    wheel?: boolean;
    fullImage?: {
        path: string;
        minScale?: number;
    };
    autoHeight?: boolean;
    wheelZoomFactor?: number;
    draggableImage?: boolean;
}
export declare const IvyPinchDefaultProperties: {
    doubleTap: boolean;
    doubleTapScale: number;
    zoomControlScale: number;
    transitionDuration: number;
    limitZoom: string;
    minPanScale: number;
    minScale: number;
    wheelZoomFactor: number;
    draggableImage: boolean;
};
export declare class IvyPinch {
    properties: any;
    touches: any;
    element: any;
    elementTarget: any;
    parentElement: any;
    i: number;
    scale: number;
    initialScale: number;
    elementPosition: any;
    eventType: any;
    startX: number;
    startY: number;
    moveX: number;
    moveY: number;
    initialMoveX: number;
    initialMoveY: number;
    moveXC: number;
    moveYC: number;
    lastTap: number;
    draggingMode: boolean;
    distance: number;
    doubleTapTimeout: number;
    initialDistance: number;
    events: any;
    maxHtmlContentScale: number;
    maxScale: number;
    constructor(properties: any);
    emitEvent(properties: any): void;
    handleTouchstart: (event: any) => void;
    handleTouchend: (event: any) => void;
    handlePan: (event: any) => void;
    handleDoubleTap: (event: any) => void;
    handlePinch: (event: any) => void;
    handleWheel: (event: any) => void;
    handleResize: () => void;
    handleLimitZoom(): void;
    getLimitZoom(): number | undefined;
    moveLeft(event: any, index?: number): number;
    moveTop(event: any, index?: number): number;
    centeringImage(): boolean;
    limitPanY(): void;
    limitPanX(): void;
    setBasicStyles(): void;
    removeBasicStyles(): void;
    setDraggableImage(): void;
    removeDraggableImage(): void;
    setImageSize(): void;
    setAutoHeight(): void;
    removeImageSize(): void;
    getElementPosition(): void;
    getTouchstartPosition(event: any): void;
    getClientPosition(event: any, index?: number): {
        clientX: any;
        clientY: any;
    };
    resetScale(): void;
    updateInitialValues(): void;
    getDistance(touches: any): number;
    getImageHeight(): any;
    getImageWidth(): any;
    transformElement(duration: any): void;
    isTouchScreen(): boolean;
    getMatchMedia(query: any): boolean;
    isDragging(): boolean | undefined;
    replaceImagePath(): void;
    pollLimitZoom(): void;
    getImageElement(): any;
    setMoveX(value: number, transitionDuration: number): void;
    setMoveY(value: number, transitionDuration: number): void;
    toggleZoom(event?: any): void;
    setZoom(properties: {
        scale: number;
        center?: number[];
    }): void;
    alignImage(): void;
    setTransform(properties: {
        x?: number;
        y?: number;
        scale?: number;
        transitionDuration?: number;
    }): void;
    destroy(): void;
}
