import { type RightAngleRotation, type TransformRect } from '../../../media-core/src/index';
export type LoadedImageInfo = {
    width: number;
    height: number;
};
export type CropperCoordinates = {
    left: number;
    top: number;
    width: number;
    height: number;
};
export type ImageHotspot = {
    x: number;
    y: number;
    radius?: number;
};
export declare const clamp: (value: number, min: number, max: number) => number;
export type CropperMinSize = {
    minWidth?: number;
    minHeight?: number;
    meta?: {
        requestedMinWidth?: number;
        requestedMinHeight?: number;
        outputWidth?: number;
        outputHeight?: number;
        reducedToFitImage?: boolean;
        reducedWidth?: boolean;
        reducedHeight?: boolean;
    };
};
export declare function coordinatesToRect(coords: CropperCoordinates): TransformRect;
export declare function rectToCoordinates(rect: TransformRect): CropperCoordinates;
export declare function rotateRectForOutput(rect: TransformRect, rotation: 0 | 90 | 180 | 270, image: LoadedImageInfo): TransformRect;
export declare function unrotateRectFromOutput(rect: TransformRect, rotation: 0 | 90 | 180 | 270, image: LoadedImageInfo): TransformRect;
export declare function buildDefaultRectForAspect(image: LoadedImageInfo, aspect?: number): TransformRect;
export declare function resolveCropperMinSize(input: {
    minSourceWidth?: number;
    minSourceHeight?: number;
    aspect?: number;
    rotation: RightAngleRotation;
    image?: LoadedImageInfo | null;
}): CropperMinSize;
export declare function clampCropperCoordinates(coords: CropperCoordinates, options: {
    imageWidth: number;
    imageHeight: number;
    minWidth?: number;
    minHeight?: number;
}): CropperCoordinates;
export declare function isSameCropperCoordinates(a: CropperCoordinates, b: CropperCoordinates): boolean;
export declare function rotateHotspotForOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
export declare function unrotateHotspotFromOutput(hotspot: ImageHotspot, rotation: RightAngleRotation): ImageHotspot;
