import type { Slide } from '../../types/slides'; export interface PagePosition { x: number; y: number; } export type PageArrangement = 'grid' | 'horizontal' | 'vertical'; export declare const PAGE_GAP = 120; /** Explicit positions may intentionally overlap. Only new, unpositioned pages avoid collisions. */ export declare function resolvePagePositions(slides: readonly Pick[], width: number, height: number): Map; export declare function arrangePagePositions(slides: readonly Pick[], width: number, height: number, arrangement: PageArrangement): Map; export declare function pageLayoutBounds(slides: readonly Pick[], width: number, height: number, positions?: Map): { x: number; y: number; width: number; height: number; }; /** Move complete groups with their element-linked notes and animations; page-local geometry is retained. */ export declare function movePageElements(source: Slide, target: Slide, selectedIds: readonly string[]): { source: Slide; target: Slide; movedIds: string[]; };