import { PureComponent } from 'react';
import { ICropParams, IImageViewerData, ISizeData } from './types';
interface IProps {
    imageUri: string;
    cropAreaWidth?: number;
    cropAreaHeight?: number;
    setCropperParams: (params: IState) => void;
}
interface IState {
    positionX: number;
    positionY: number;
    width: number;
    height: number;
    minScale: number;
    adjustedHeight: number;
    loading: boolean;
    fittedSize: ISizeData;
    prevImageUri: string;
}
declare class ImageCropper extends PureComponent<IProps, IState> {
    static crop: (params: ICropParams) => Promise<unknown>;
    static defaultProps: {
        cropAreaWidth: number;
        cropAreaHeight: number;
    };
    static getDerivedStateFromProps(props: IProps, state: IState): {
        prevImageUri: string;
        loading: boolean;
    } | null;
    state: {
        positionX: number;
        positionY: number;
        width: number;
        height: number;
        minScale: number;
        adjustedHeight: number;
        loading: boolean;
        fittedSize: {
            width: number;
            height: number;
        };
        prevImageUri: string;
    };
    componentDidMount(): void;
    componentDidUpdate(prevProps: IProps): void;
    init: () => void;
    handleMove: ({ positionX, positionY, scale }: IImageViewerData) => void;
    render(): JSX.Element | null;
}
export default ImageCropper;
