import { PptxElement } from 'pptx-viewer-core'; import { SanitizedPresence } from 'pptx-viewer-shared'; /** * remote-selection.ts: pure resolution logic for `RemoteSelectionOverlay`. * Kept in a plain `.ts` module (not inside the SFC) per repo convention: * SFCs stay thin presentation, logic lives in lintable TypeScript files. */ /** A single resolved remote selection box, in unscaled slide coordinates. */ export interface RemoteSelectionBox { /** Stable key (peer clientId + element id). */ key: string; /** Id of the outlined element (framework-neutral e2e contract). */ elementId: string; /** Peer display name shown in the label chip. */ userName: string; /** Outline + chip colour. */ color: string; /** Unscaled slide-space geometry of the selected element. */ x: number; y: number; width: number; height: number; } /** * Resolve every remote peer's selection on the active slide into drawable * boxes. Only peers whose `activeSlideIndex` matches the current slide are * considered, and only selected ids that resolve to an element on the slide * produce a box. */ export declare function resolveRemoteSelectionBoxes(presences: readonly SanitizedPresence[], elements: readonly PptxElement[], activeSlideIndex: number): RemoteSelectionBox[]; //# sourceMappingURL=remote-selection.d.ts.map