/** * Scroll timer that fires local hooks at dynamically calculated intervals. */ export declare class ScrollTimer { #private; /** * @param {Function} registerTimeout Timeout registration function for cleanup tracking. */ constructor(registerTimeout: (fn: () => void, delay: number) => number); /** * Whether the timer is currently active. * * @type {boolean} */ get isActive(): boolean; /** * Configures the scroll timing settings. * * @param {object} settings Timer settings. * @param {object} settings.intervalRange Interval range in ms. * @param {number} settings.intervalRange.min Minimum interval in ms. * @param {number} settings.intervalRange.max Maximum interval in ms. * @param {number} settings.rampDistance Distance at which interval reaches minimum. */ configure(settings: { intervalRange: { min: number; max: number; }; rampDistance: number; }): void; /** * Updates the timer state. Starts or stops based on distance value. * * @param {number} distance Distance from viewport edge (0 = inside viewport, N > 0 = outside viewport). */ update(distance: number): void; /** * Stops the timer. */ stop(): void; } export interface ScrollTimer { addLocalHook(key: string, callback: Function): this; removeLocalHook(key: string, callback: Function): this; runLocalHooks(key: string, ...args: unknown[]): void; clearLocalHooks(): this; }