/** * https://dev.to/bwca/create-a-debounce-function-from-scratch-in-typescript-560m * @param fn Accepted argument and return, a function. * @param ms The delay time. * @returns a debounced function that resolves to a value after certain amount of time. Or never resolves if terminated. */ export declare function debounce(fn: (args: A) => R, ms: number): [(args: A) => Promise, () => void];