/**
* Takes a function that returns a promise and ensures that only one instance of the function is running at a time.
* @param func the function to wrap
*/exportdeclarefunction onlyOne<T, U extendsunknown[]>(func: (...args: U) =>Promise<T>): (...args: U) =>Promise<T>;