import React from "react";
import { CalculatedDimensions } from "../../util";
import { ContourCoordinates } from ".";
import { CropFunc } from "../Romaine.types";
import { CanvasProps } from "../Canvas";
import { ImagePtr, ShowPreview, size } from "../../types";
export interface CropperState extends ContourCoordinates {
    loading: boolean;
}
export interface CropperSpecificProps extends Pick<CanvasProps, "lineColor" | "lineWidth" | "saltId" | "pointSize" | "image" | "onDragStop" | "onChange"> {
    /** The canvas which we pass to OpenCV for manipulations */
    canvasRef: React.MutableRefObject<HTMLCanvasElement | undefined>;
    /** The canvas we display images on */
    previewCanvasRef: React.RefObject<HTMLCanvasElement>;
    /** The canvas we draw the lines connecting the crop points on */
    previewDims: CalculatedDimensions | undefined;
    imageResizeRatio: number;
    showPreview: ShowPreview;
    setPreviewPaneDimensions: (dims?: size) => undefined | number;
    setCropFunc: React.Dispatch<React.SetStateAction<CropFunc | null>>;
    canvasPtr: React.MutableRefObject<ImagePtr>;
}
export declare const CroppingCanvas: ({ image, onDragStop, onChange, previewCanvasRef, setCropFunc, pointSize, lineWidth, lineColor, previewDims, imageResizeRatio, showPreview, setPreviewPaneDimensions, saltId, canvasPtr, }: CropperSpecificProps) => JSX.Element;
//# sourceMappingURL=CroppingCanvas.d.ts.map