import { PptxSlide } from 'pptx-viewer-core'; import { AlignEdge, DistributeAxis } from 'pptx-viewer-shared'; /** * Pure, multi-select-aware arrange mutations for the Home tab's Arrange * group: align / distribute / flip / group / ungroup. The bounding-box maths * (`alignElements`, `distributeElements`) and grouping (`groupElements`, * `ungroupElements`) are the shared, framework-agnostic operations from * `pptx-viewer-shared`; this module lifts them to the slide-array shape * `EditorState` stores and to the ordered `selection.ids` list the toolbar * reads (mirrors `editor-mutations.ts` / `editor-zorder.ts`). */ /** Align every selected element to a common edge (needs >= 2 ids). Null when a no-op. */ export declare function alignSelectedOnSlide(slides: readonly PptxSlide[], slideIndex: number, ids: readonly string[], edge: AlignEdge): PptxSlide[] | null; /** Distribute the selected elements evenly along an axis (needs >= 3 ids). Null when a no-op. */ export declare function distributeSelectedOnSlide(slides: readonly PptxSlide[], slideIndex: number, ids: readonly string[], axis: DistributeAxis): PptxSlide[] | null; /** Flip every selected element across the given axis. Null when nothing is selected. */ export declare function flipSelectedOnSlide(slides: readonly PptxSlide[], slideIndex: number, ids: readonly string[], axis: 'horizontal' | 'vertical'): PptxSlide[] | null; /** Group the selected elements (needs >= 2 ids). Returns the new group id, or null when a no-op. */ export declare function groupSelectedOnSlide(slides: readonly PptxSlide[], slideIndex: number, ids: readonly string[], intoTemplate?: boolean): { slides: PptxSlide[]; groupId: string; } | null; /** Ungroup the group element with `groupId`. Returns the ungrouped child ids, or null when not found. */ export declare function ungroupOnSlide(slides: readonly PptxSlide[], slideIndex: number, groupId: string, fromTemplate?: boolean): { slides: PptxSlide[]; childIds: string[]; } | null; //# sourceMappingURL=editor-arrange-ops.d.ts.map