import { Position, BackgroundState, Dimensions, CanvasElements } from '../types';

export declare const getRotatedPointerPosition: (pos: Position, backgroundState: BackgroundState, dimensions: Dimensions) => Position;
export declare const isPointInImage: (x: number, y: number, backgroundState: BackgroundState) => boolean;
export declare const isElementInCropArea: (x: number, y: number, width: number, height: number, cropRect: {
    x: number;
    y: number;
    width: number;
    height: number;
}) => boolean;
export declare const applyCrop: (cropRect: {
    x: number;
    y: number;
    width: number;
    height: number;
}, canvasElements: CanvasElements, backgroundState: BackgroundState) => Promise<{
    croppedImage: HTMLImageElement;
    newWidth: number;
    newHeight: number;
    scaleX: number;
    scaleY: number;
}>;
export declare const transformElementsAfterCrop: (cropRect: {
    x: number;
    y: number;
    width: number;
    height: number;
}, scaleX: number, scaleY: number, angle: number, dimensions: Dimensions, newWidth: number, newHeight: number, canvasElements: CanvasElements) => {
    newSquares: {
        x: number;
        y: number;
        width: number;
        height: number;
        rotation: number;
    }[];
    newTextBoxes: {
        x: number;
        y: number;
        width: number;
        fontSize: number;
        text: string;
        height: number;
        fill: string;
        draggable: boolean;
        rotation: number;
        id: string;
        align: string;
        verticalAlign: string;
        backgroundColor: string;
    }[];
    newLines: {
        points: number[];
        strokeWidth: number;
        stroke: string;
        id: string;
    }[];
};
//# sourceMappingURL=crop.utils.d.ts.map