declare const pTry: { /** Start a promise chain. @param fn - The function to run to start the promise chain. @param arguments - Arguments to pass to `fn`. @returns The value of calling `fn(...arguments)`. If the function throws an error, the returned `Promise` will be rejected with that error. @example ``` import pTry = require('p-try'); (async () => { try { const value = await pTry(() => { return synchronousFunctionThatMightThrow(); }); console.log(value); } catch (error) { console.error(error); } })(); ``` */ <ValueType, ArgumentsType extends unknown[]>( fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType, ...arguments: ArgumentsType ): Promise<ValueType>; // TODO: remove this in the next major version, refactor the whole definition to: // declare function pTry<ValueType, ArgumentsType extends unknown[]>( // fn: (...arguments: ArgumentsType) => PromiseLike<ValueType> | ValueType, // ...arguments: ArgumentsType // ): Promise<ValueType>; // export = pTry; default: typeof pTry; }; export = pTry;