/**
 * This function returns a function that will execute the given function after a delay.
 * The function is called with the same arguments as the original function
 *
 * @typedef T generic type parameter
 * @param {() => void} fn - The function to be debounced.
 * @param {number} delay - The delay in milliseconds.
 * @param {T} context - The context to be used when calling the function.
 * @returns {(() => void)} A function that will call the original function with the given arguments after the given delay.
 */
export declare const debounce: <T>(fn: (...args: unknown[]) => void, delay: number, context: T) => (() => void);
