export declare const SCROLL_SETTLE_MS = 150;
/**
 * Marks the scroll events of the next SCROLL_SETTLE_MS as programmatic
 * (editor sync, navigation) so the scroll tracker doesn't report them back
 * as user scrolling. The window is short and fixed on purpose: a stray sync
 * push can mute real user scrolling for at most one window, while continuous
 * sync streams stay suppressed because every push re-marks.
 */
export declare function markProgrammaticScroll(): void;
/**
 * Returns true while a recently marked programmatic scroll is settling.
 */
export declare function isProgrammaticScrollEvent(): boolean;
/**
 * Wraps the window scroll methods so every programmatic page scroll marks
 * itself — callers (portal, theme, custom plugins) don't need to remember to
 * call markProgrammaticScroll(). Element.prototype.scrollIntoView is
 * intentionally left alone: it often targets inner scroll containers, and
 * marking those would swallow real user page scrolls.
 */
export declare function installProgrammaticScrollMarking(): void;
//# sourceMappingURL=programmatic-scroll.d.ts.map