/**
 * Функция throttled, которая будет задержана на заданное
 * `threshold` миллисекунд от последнего вызова. Если метод будет вызван снова
 * до истечения тайм-аута, предыдущий вызов будет прерван.
 */ export interface ThrottledFunction<T extends unknown[]> {
    (...a: T) : void;
    /**
   * Отменяет вызов функции
   */ cancel(): void;
}
/**
 * Возвращает throttled функцию, которая задерживает вызов `fn` на
 * `threshold` миллисекунд от последнего вызова. Если метод вызывается снова до
 * выполнения предыдущего, предыдущий вызов будет прерван.
 *
 * @param fn Функция, которую надо вызывать
 * @param threshold Длительность в миллисекундах
 * @param scope Контекст, с которым будет совершен вызов функции
 */ export declare function throttle<T extends any[]>(fn: (...args: T) => unknown, threshold?: number, scope?: (Window & typeof globalThis) | undefined): ThrottledFunction<T>;
