declare module "throttle-debounce" {
  /**
   * Throttle execution of a function. Especially useful for rate limiting execution of handlers
   * on events like resize and scroll.
   */
  declare function throttle<T>(
    delay: number,
    noTrailing: boolean,
    callback: () => T,
    debounceMode: boolean
  ): () => T;
  declare function throttle<T>(
    delay: number,
    noTrailing: boolean,
    callback: () => T
  ): () => T;
  declare function throttle<T>(
    delay: number,
    callback: () => T,
    debounceMode: boolean
  ): () => T;
  declare function throttle<T>(delay: number, callback: () => T): () => T;

  /**
   * Debounce execution of a function. Debouncing, unlike throttling, guarantees that a function is only executed a single time,
   * either at the very beginning of a series of calls, or at the very end.
   */
  declare function debounce<T>(
    delay: number,
    atBegin: boolean,
    callback: () => T
  ): () => T;
  declare function debounce<T>(delay: number, callback: () => T): () => T;
}

@@ -261,32 +261,51 @@
 %0A    callback: (
+...args: Array%3Cany%3E
 ) =%3E T,%0A    debo
@@ -320,32 +320,51 @@
 : boolean%0A  ): (
+...args: Array%3Cany%3E
 ) =%3E T;%0A  declar
@@ -442,37 +442,75 @@
  callback: (
-) =%3E T%0A  ): (
+...args: Array%3Cany%3E) =%3E T%0A  ): (...args: Array%3Cany%3E
 ) =%3E T;%0A  de
@@ -567,24 +567,43 @@
  callback: (
+...args: Array%3Cany%3E
 ) =%3E T,%0A    
@@ -626,24 +626,43 @@
 olean%0A  ): (
+...args: Array%3Cany%3E
 ) =%3E T;%0A  de
@@ -710,34 +710,72 @@
  callback: (
-) =%3E T): (
+...args: Array%3Cany%3E) =%3E T): (...args: Array%3Cany%3E
 ) =%3E T;%0A%0A  /
@@ -1080,29 +1080,67 @@
 k: (
-) =%3E T%0A  ): (
+...args: Array%3Cany%3E) =%3E T%0A  ): (...args: Array%3Cany%3E
 ) =%3E T;%0A
   de
@@ -1127,32 +1127,33 @@
 ray%3Cany%3E) =%3E T;%0A
+%0A
   declare functi
@@ -1193,26 +1193,64 @@
 lback: (
-) =%3E T): (
+...args: Array%3Cany%3E) =%3E T): (...args: Array%3Cany%3E
 ) =%3E T;%0A

Make throttle-debounce function accept arguments (#2169)