import type { EngineContext } from '../../wire'; import type { default as Overlays } from '../overlays'; import type { StickyScrollStrategy } from '../strategies/stickyScrollStrategy'; import type { ResizeMonitor } from '../resizeMonitor'; /** * Assembles the NativeScrollInput's dependencies. The overlays are resolved off the owning * coordinator (its own fields set by `initOverlays`), and the sticky-scroll strategy + resize monitor * are passed as the already-built instances so their listener hooks can be re-registered from here. * ScrollSync's `syncScrollPositions` and the coordinator's scrollable element are reached via * callbacks, so this module type-imports Overlays/StickyScrollStrategy/ResizeMonitor only. * * @param {EngineContext} ctx The engine composition context. * @param {Overlays} overlays The owning Overlays coordinator. * @param {StickyScrollStrategy} stickyScroll The overlays' sticky-scroll strategy. * @param {ResizeMonitor} resizeMonitor The overlays' container-resize monitor. * @returns {object} The NativeScrollInput dependency set. */ export declare function createNativeScrollInputDeps(ctx: EngineContext, overlays: Overlays, stickyScroll: StickyScrollStrategy, resizeMonitor: ResizeMonitor): { wtSettings: import("../../settings").default; rootDocument: Document; rootWindow: Window; geometryReader: import("../../domMeasure/geometryReader").GeometryReader; wtTable: import("../../table/baseTable").default; eventManager: import("../../../../../eventManager").default; getTopOverlay: () => import("..").Overlay; getInlineStartOverlay: () => import("..").Overlay; getCloneableOverlays: () => import("..").Overlay[]; getScrollableElement: () => HTMLElement | Window; syncScrollPositions: () => void; scrollVertically: (delta: number) => boolean; scrollHorizontally: (delta: number) => boolean; registerStickyScrollListeners: () => void; resetResizeCount: () => void; observeResize: () => void; }; /** * The NativeScrollInput dependencies, inferred from `createNativeScrollInputDeps`. */ export type NativeScrollInputDeps = ReturnType; /** * Binds the native DOM input listeners (scroll, wheel, keydown/keyup, window resize) and translates * them into the engine's scroll actions: a scroll event syncs the master/clone positions, a wheel * event over a clone is turned into a scroll of the master scrollable element, and arrow-key presses * flip a flag so a keyboard-driven render only syncs master -> overlay. * * Extracted from the Overlays coordinator so the native-input lifecycle is self-contained; the * coordinator keeps a thin public `registerListeners` delegate because ScrollSync re-registers the * listeners when the scrollable element changes. * * @class NativeScrollInput */ export declare class NativeScrollInput { #private; /** * @param {NativeScrollInputDeps} deps The NativeScrollInput dependencies. */ constructor(deps: NativeScrollInputDeps); /** * Register all necessary event listeners. */ registerListeners(): void; }