import { type TgdContext } from "@tolokoban/tgd"; import type { MorphoViewerOverlayTransformEvent, MorphoViewerWorldOverlay } from "../components/types"; type OrbitGate = { enabled: boolean; }; type OverlayInteractionOptions = { context: TgdContext; getOverlays: () => MorphoViewerWorldOverlay[]; setOverlays: (overlays: MorphoViewerWorldOverlay[]) => void; syncOverlayPositions: () => void; getHitRadiusPixels: () => number; getOrbit: () => OrbitGate | null; setHighlightedId: (id: string | null) => void; onTransform?: (event: MorphoViewerOverlayTransformEvent) => void; onDragStart?: () => void; onDragEnd?: (id: string) => void; }; export declare class OverlayInteractionController { private readonly options; private drag; private hoverId; private attached; private onTransform?; private modifierRotate; private syncRaf; private pressedOnOverlay; constructor(options: OverlayInteractionOptions); get isDragging(): boolean; setOnTransform(onTransform?: (event: MorphoViewerOverlayTransformEvent) => void): void; attach(): void; detach(): void; private readonly preventContextMenu; private readonly handleKeyChange; private readonly handleHover; private readonly handleTap; private readonly handleMoveStart; private readonly handleMove; private readonly handleMoveEnd; private applyTranslate; private applyRotate; private scheduleSync; private flushSync; private cancelScheduledSync; private emit; private finishDrag; private setHover; private setCursor; private pickOverlay; } export {}; //# sourceMappingURL=overlay-interaction.d.ts.map