import { PptxElement } from 'pptx-viewer-core'; import { MarqueeRect, ResizeHandleId } from 'pptx-viewer-shared'; import { ElementBoxPatch } from './editor-mutations'; export interface EditorMarqueeRect extends MarqueeRect { additive: boolean; } export interface SelectionGestureDeps { getScale(): number; getStageRect(): DOMRect | undefined; getElements(): readonly PptxElement[]; getSelectedIds(): readonly string[]; /** * The selected ids a collective `interaction` may actually act on, with the * locked members already dropped. Optional: without it the whole selection * transforms, which is the pre-lock behaviour. */ getTransformIds?(interaction: 'move' | 'resize'): readonly string[]; onStart(): void; onPatch(id: string, patch: ElementBoxPatch): void; /** `movedIds` are the elements this gesture actually patched. */ onCommit(movedIds: readonly string[]): void; onSelect(ids: readonly string[]): void; onMarquee(rect: EditorMarqueeRect | null): void; } /** Window-level marquee and collective transform driver for the Svelte stage. */ export declare function createSelectionGestureController(deps: SelectionGestureDeps): { beginMarquee(event: PointerEvent): void; beginTransform(kind: "move" | "resize", event: PointerEvent, handle?: ResizeHandleId): boolean; dispose(): void; }; //# sourceMappingURL=editor-selection-gestures.d.ts.map