import type { DomTools } from './domtools.classes.domtools.js'; export declare class Scroller { domtoolsInstance: DomTools; private disposed; private scrollCallbacks; private lenisInstance; private lenisScrollUnsubscribe; private nativeScrollListenerAttached; private handleNativeScroll; private handleLenisScroll; constructor(domtoolsInstanceArg: DomTools); private sweetScroller; /** * Scrolls to a given element with options. */ toElement(elementArg: HTMLElement, optionsArg: Parameters[1]): Promise; /** * Detects whether native smooth scrolling is enabled. */ detectNativeSmoothScroll(): Promise; /** * Enables Lenis scrolling. * If optionsArg.disableOnNativeSmoothScroll is true and native smooth scrolling is detected, * Lenis will be destroyed immediately. */ enableLenisScroll(optionsArg?: { disableOnNativeSmoothScroll?: boolean; }): Promise; disableLenisScroll(): void; /** * Registers a callback to be executed on scroll. * @param callback A function to execute on each scroll event. */ onScroll(callback: () => void): () => void; /** * Executes all registered scroll callbacks concurrently. */ private executeScrollCallbacks; /** * Attaches the native scroll event listener. */ private attachNativeScrollListener; /** * Detaches the native scroll event listener. */ private detachNativeScrollListener; /** * Attaches the Lenis scroll event listener. */ private attachLenisScrollListener; /** * Detaches the Lenis scroll event listener. */ private detachLenisScrollListener; dispose(): void; }