type AsyncFunction = (...args: [...T, AbortSignal]) => Promise; declare class Debouncer { private wait; private timeoutId?; private activeAbortController?; constructor(wait: number); debounce: (func: AsyncFunction, ...args: T) => Promise; cancel: () => void; } export { AsyncFunction, Debouncer };