import { Coordinates, CropperState, Size, Transforms } from "../types/index";
interface UpdateOptions {
    imageSmoothingQuality?: 'low' | 'medium' | 'high';
    imageSmoothingEnabled?: boolean;
    fillColor?: string;
}
declare function prepareSource(canvas: HTMLCanvasElement, image: HTMLImageElement | HTMLCanvasElement, { rotate, flip }: Transforms): HTMLCanvasElement;
declare function updateCanvas(canvas: HTMLCanvasElement, source: HTMLCanvasElement | HTMLImageElement, coordinates: Coordinates, resultSize?: Size, options?: UpdateOptions): HTMLCanvasElement;
interface DrawOptions extends UpdateOptions {
    width?: number;
    height?: number;
    minWidth?: number;
    maxWidth?: number;
    minHeight?: number;
    maxHeight?: number;
    maxArea?: number;
}
declare function drawCroppedArea(state: CropperState, image: HTMLImageElement | HTMLCanvasElement, resultCanvas: HTMLCanvasElement, spareCanvas: HTMLCanvasElement, options: DrawOptions): HTMLCanvasElement | null;
export { prepareSource, updateCanvas, DrawOptions, drawCroppedArea };
