import type { PPTImageElement, ImageClipDataRange } from '../../types/slides'; export declare const FRAME_LAYOUTS: readonly ['rect', 'roundRect', 'ellipse', 'two', 'three', 'four', 'six', 'nine', 'hero']; export type FrameLayout = typeof FRAME_LAYOUTS[number]; export declare const FRAME_PLACEHOLDER: string; /** Cell rectangles in fractional grid units. Mixed-span hero keeps a large left cell. */ export declare function frameCells(layout: FrameLayout): number[][]; export declare function coverRange(sourceWidth: number, sourceHeight: number, width: number, height: number): ImageClipDataRange; export declare function createPhotoFrames(layout: FrameLayout, width: number, height: number, gutter?: number, name?: string): PPTImageElement[]; /** Uses current bounds, so moved/resized native groups keep their current location. */ export declare function layoutPhotoFrames(elements: PPTImageElement[], gutter: number): PPTImageElement[]; export declare function fillPhotoFrame(element: PPTImageElement, src: string, sourceWidth: number, sourceHeight: number): PPTImageElement;