import type { InteractionEvent } from "../transport/protocol"; /** * Captures wheel / pointer events on the GL canvas, normalizes coords * to canvas-relative CSS pixels, and emits semantic * {@link InteractionEvent}s to the Renderer over its transport. The * Renderer owns the `ZoomController`s and runs the actual hit-test + * apply logic — see `applyWheel` / `applyPan` in `zoom-router.ts`. * * Pointer capture is set on `pointerdown` and released on `pointerup` * so drags continue to deliver `pointermove` events when the cursor * leaves the canvas. */ export declare class RawEventForwarder { private _element; private _emit; private _pointerId; private _onWheel; private _onPointerDown; private _onPointerMove; private _onPointerUp; private _onPointerLeave; private _onClick; private _onDblClick; attach(element: HTMLElement, emit: (e: InteractionEvent) => void): void; detach(): void; }