import React, { Component } from 'react';
import { ScaleToOptions, Props, DefaultProps } from './types';
declare class PinchZoom extends Component<Props> {
    static defaultProps: DefaultProps;
    private _velocity;
    private _prevDragMovePoint;
    private _containerObserver;
    private _fingers;
    private _firstMove;
    private _hasInteraction;
    private _inAnimation;
    private _initialOffset;
    private _interaction;
    private _isDoubleTap;
    private _isOffsetsSet;
    private _lastDragPosition;
    private _lastScale;
    private _lastTouchStart;
    private _lastZoomCenter;
    private _listenMouseMove;
    private _nthZoom;
    private _offset;
    private _startOffset;
    private _startTouches;
    private _updatePlaned;
    private _wheelTimeOut;
    private _zoomFactor;
    private _initialZoomFactor;
    private _draggingPoint;
    private _ignoreNextClick;
    private _containerRef;
    private _handleClick;
    private _handleDragStart;
    private _handleDrag;
    private _resetInertia;
    private _realizeInertia;
    private _collectInertia;
    private _handleDragEnd;
    private _handleZoomStart;
    private _handleZoom;
    private _handleZoomEnd;
    private _handleDoubleTap;
    private _computeInitialOffset;
    private _resetOffset;
    private _setupOffsets;
    private _sanitizeOffset;
    alignCenter(options: ScaleToOptions): void;
    scaleTo(options: ScaleToOptions): void;
    private _scaleTo;
    private _scale;
    private _scaleZoomFactor;
    private _canDrag;
    private _drag;
    private _virtualDrag;
    private _addOffset;
    private _sanitize;
    private _isInsaneOffset;
    private _sanitizeOffsetAnimation;
    private _zoomOutAnimation;
    private _getInitialZoomFactor;
    private _getCurrentZoomCenter;
    private _getOffsetByFirstTouch;
    private _getOffsetTouches;
    private _animate;
    private _stopAnimation;
    private _end;
    private _getContainerRect;
    private _getChildSize;
    private _updateInitialZoomFactor;
    private _onResize;
    private _bindEvents;
    private _unSubscribe;
    private _update;
    private _handlerIfEnable;
    private _setInteraction;
    private _distanceBetweenNumbers;
    private _enoughToDrag;
    private _updateInteraction;
    private _detectDoubleTap;
    private _handlerOnTouchEnd;
    private _handlerOnTouchStart;
    private _handlerOnTouchMove;
    simulate(fn: (e: TouchEvent) => void): (a: MouseEvent) => void;
    private _handlerWheel;
    private _handlers;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): React.JSX.Element;
}
export default PinchZoom;
