import type * as Template from '../serial/serial-types'; import { Matrix } from 'transformation-matrix'; import { RectangleSprite } from '../controllers/sprites/Rectangle'; import { OvalSprite } from '../controllers/sprites/Oval'; import { PolygonSprite } from '../controllers/sprites/Polygon'; import { ImageSprite } from '../controllers/sprites/Image'; import { DecomposedTransform } from '../util/layout'; import { AssetCollector } from './assets'; export declare function findImageChild(sprite: RectangleSprite | OvalSprite | PolygonSprite): ImageSprite | undefined; export declare function fullImageElement(image: ImageSprite, transform: DecomposedTransform, collector: AssetCollector): Promise; /** * Heuristic: a rectangular frame containing an axis-aligned image becomes a * Bluepic image element with per-corner radius + a source-pixel crop. Falls * back to a mask for rotated images / non-rounded corners (handled by caller). */ export declare function imageFrameAsImage(frame: RectangleSprite, image: ImageSprite, pageMatrix: Matrix, transform: DecomposedTransform, collector: AssetCollector): Promise; /** * Mask fallback (oval / polygon / rotated frames): the frame outline clips the * image at its OWN placement (bbox + itemTransform), preserving IDML's intended * crop — the image is positioned against the mask shape, not refit to the frame. * The image's itemTransform is relative to the frame (nested), so its placement * is decompose(imageBaked) directly. */ export declare function imageFrameAsMask(frame: RectangleSprite | OvalSprite | PolygonSprite, image: ImageSprite, pageMatrix: Matrix, transform: DecomposedTransform, collector: AssetCollector): Promise; //# sourceMappingURL=images.d.ts.map