import type { ClipVisualTransform } from '../models/types';
export interface PreviewRect {
    left: number;
    top: number;
    width: number;
    height: number;
    centerX: number;
    centerY: number;
}
export interface PreviewFrameSize {
    width: number;
    height: number;
}
export interface PreviewMediaSize {
    width: number;
    height: number;
}
export declare const DEFAULT_CLIP_VISUAL_TRANSFORM: ClipVisualTransform;
export declare const MIN_CLIP_VISUAL_SCALE = 0.1;
export declare const MAX_CLIP_VISUAL_SCALE = 8;
export declare function clampClipVisualScale(scale: number): number;
export declare function resolveClipVisualTransform(transform?: Partial<ClipVisualTransform> | null): ClipVisualTransform;
export declare function areClipVisualTransformsEqual(left?: Partial<ClipVisualTransform> | null, right?: Partial<ClipVisualTransform> | null, epsilon?: number): boolean;
export declare function calculateContainRect(frame: PreviewFrameSize, media: PreviewMediaSize): PreviewRect;
export declare function calculatePreviewDisplayRect(frame: PreviewFrameSize, media: PreviewMediaSize, transform?: Partial<ClipVisualTransform> | null): PreviewRect;
export declare function moveClipVisualTransform(startTransform: Partial<ClipVisualTransform> | null | undefined, deltaX: number, deltaY: number, frame: PreviewFrameSize): ClipVisualTransform;
export declare function scaleClipVisualTransformFromCenter(centerX: number, centerY: number, pointerX: number, pointerY: number, baseRect: PreviewRect, startTransform?: Partial<ClipVisualTransform> | null): ClipVisualTransform;
