export type DebounceCallback = () => Promise | unknown; export type ErrorCallback = (error: Error) => void; export declare class Debounce { #private; private readonly millisecond; private readonly deferred; private callback; private waiting; /** * Creates a new Debounce * @param millisecond The maximum millisecond window for this debounce * @param deferred Should the debounce defer the last callback to execute once a debounce window ends */ constructor(millisecond: number, deferred?: boolean); run(callback: DebounceCallback, errorCallback?: ErrorCallback): void; }