/** * Manages independent horizontal and vertical scroll timers for drag-to-scroll * behavior. Handles interval calculation internally based on mouse distance from * table viewport boundaries. Each axis runs independently - horizontal can scroll * fast while vertical scrolls slow. */ export declare class AutoScroller { #private; /** * @param {Function} registerTimeout Timeout registration function (typically `hot._registerTimeout`). */ constructor(registerTimeout: (fn: () => void, delay: number) => number); /** * Whether any axis is currently scrolling. * * @type {boolean} */ get isActive(): boolean; /** * Whether the horizontal axis is currently scrolling. * * @type {boolean} */ get isHorizontalActive(): boolean; /** * Whether the vertical axis is currently scrolling. * * @type {boolean} */ get isVerticalActive(): boolean; /** * Configures scroll timing settings for both axes. * * @param {object} settings Scroll settings. * @param {object} settings.intervalRange Interval range in milliseconds. * @param {object} settings.intervalRange.min Minimum interval in milliseconds. * @param {object} settings.intervalRange.max Maximum interval in milliseconds. * @param {number} settings.rampDistance Distance at which interval reaches minimum. */ configure(settings: { intervalRange: { min: number; max: number; }; rampDistance: number; }): void; /** * Updates scroll state based on cursor overflow from viewport boundaries. * * @param {{ x: number, y: number }} overflow Distance past viewport edges (0 = inside, N >0 || N < 0 = pixels outside). */ update({ x, y }: { x: number; y: number; }): void; /** * Stops all scrolling. */ stop(): void; /** * Stops the horizontal axis scrolling only. */ stopHorizontal(): void; /** * Stops the vertical axis scrolling only. */ stopVertical(): void; /** * Destroys the scroll looper. */ destroy(): void; } export interface AutoScroller { addLocalHook(key: string, callback: Function): this; removeLocalHook(key: string, callback: Function): this; runLocalHooks(key: string, ...args: unknown[]): void; clearLocalHooks(): this; }