/** * Функция debounced, которая будет задержана на заданное `delay` время * в миллисекундах. Если метод будет вызван снова до истечения тайм-аута, * предыдущий вызов будет прерван. */ export interface DebouncedFunction { (...a: T) : void; /** * Отменяет вызов функции */ cancel(): void; } /** * Возвращает debounced функцию, которая задерживает вызов `fn` на заданное * `delay` время в миллисекундах. Если метод вызывается снова до истечения * тайм-аута, предыдущий вызов будет прерван. * * @param fn Функция которую надо "отложить" * @param delay Время задержки вызова в миллисекундах * @param context Контекст с которым будет совершен вызов функции */ export declare function debounce(fn: (...args: T) => unknown, delay: number, context?: (Window & typeof globalThis) | undefined): DebouncedFunction;