/**
* Creates a function that batches calls and delays execution.
* It ensures the 'targetFunction' is only called after a 'delayMs' wait period
* AND after the previous execution has finished.
*
* Batch and Delay, collects multiple requests into a single group
* and delays the execution of the target function.
*
* @param targetFunction the promise-returning function to delay,
*        targetFunction should take in a single array
* @param delayMs the number of milliseconds to delay
* @returns delayedFunc that takes an optional argument (array, single value, or nothing)
*/
export declare function delay<T>(targetFunction: (arg: T[]) => Promise<unknown>, delayMs: number): (this: any, newItem?: T | T[]) => Promise<unknown>;
//# sourceMappingURL=delay.d.ts.map