import type { PPTElement, PPTShapeElement } from '../types/slides'; export type FramePoint = { x: number; y: number; }; export declare const isFrame: (element: PPTElement) => element is PPTShapeElement; export declare function frameAncestors(element: PPTElement, elements: readonly PPTElement[]): PPTShapeElement[]; export declare function frameDescendantIds(elements: readonly PPTElement[], ids: readonly string[]): string[]; export declare function frameCorners(element: PPTElement): FramePoint[]; export declare function frameClipPolygon(element: PPTElement, elements: readonly PPTElement[]): FramePoint[] | null; export declare function createFrameFromSelection(elements: readonly PPTElement[], ids: readonly string[], frameId: string, name: string): { elements: PPTElement[]; selection: string[]; }; export declare function reparentFrameElements(elements: readonly PPTElement[], ids: readonly string[], parentFrameId?: string): PPTElement[]; /** Carry descendants with translated/rotated frames; resizing leaves child sizes unchanged. */ export declare function reconcileFrameTransforms(previous: readonly PPTElement[], next: readonly PPTElement[]): PPTElement[]; /** Keep native painter order coherent: a frame's artwork always precedes its children. */ export declare function normalizeFrameOrder(elements: readonly PPTElement[]): PPTElement[];