import type { TransformRect } from './types';
import type { HotspotLike } from './compare';
export type AspectTransform = {
    aspect?: string;
    rect?: TransformRect;
    hotspot?: HotspotLike;
    rotation?: 0 | 90 | 180 | 270;
};
export type AspectTransformMap = Record<string, AspectTransform>;
export type MediaTransformLike = {
    rect?: TransformRect;
    hotspot?: HotspotLike;
    rotation?: 0 | 90 | 180 | 270;
    aspectCrops?: AspectTransformMap;
};
export type ResolvedMediaTransform = {
    rect?: TransformRect;
    hotspot?: HotspotLike;
    rotation?: 0 | 90 | 180 | 270;
};
export declare function parseAspectRatioValue(value: number | string | undefined | null): number | undefined;
export declare function formatAspectRatioToken(aspect: number | undefined, precision?: number): string | undefined;
export declare function resolveMediaTransformForAspect(transform: MediaTransformLike | undefined, targetAspect?: number | string): ResolvedMediaTransform;
export declare function isValidTransformRect(rect: TransformRect | undefined): rect is TransformRect;
export declare function isExplicitRectCrop(rect: TransformRect | undefined, sourceWidth?: number, sourceHeight?: number, epsilon?: number): boolean;
