import type { ImageElementClip } from '../types/slides'; /** * pptxtojson emits a `p:pic` as `type: 'image'` only when it has no preset/custom * geometry. PowerPoint always writes `` on pictures, so * almost every photo arrives as `type: 'shape'` with `fill.type === 'image'`. * Importing that as an SVG pattern (200×200 viewBox, then non-uniform scale) * stretches the bitmap. Map picture-like shapes back to image elements instead. */ export declare const PPTX_IMAGE_CLIP_SHAPES: readonly ['rect', 'snip1Rect', 'snip2DiagRect', 'roundRect', 'ellipse', 'triangle', 'rtTriangle', 'diamond', 'pentagon', 'hexagon', 'heptagon', 'octagon', 'chevron', 'homePlate', 'rightArrow', 'parallelogram', 'trapezoid']; export type PptxSrcRect = { t?: number; b?: number; l?: number; r?: number; }; export type PptxPictureSource = { src: string; geom: string; rect?: PptxSrcRect; isFlipH?: boolean; isFlipV?: boolean; rotate?: number; link?: string; borderWidth?: number; }; export declare function isPptxConnectorShape(shapType?: string): boolean; export declare function pptxPictureSource(el: unknown): PptxPictureSource | null; /** Preset picture frames (rect / ellipse / roundRect / …) become image clips. Custom paths stay shapes. */ export declare function pptxPictureShapeCanBeImage(shapType?: string): boolean; export declare function pptxImageClip(geom: string, rect?: PptxSrcRect): ImageElementClip | undefined;