type PromiseWithResolvers = { promise: Promise; resolve: (value: T | PromiseLike) => void; reject: (reason?: unknown) => void; }; declare global { interface PromiseConstructor { withResolvers?(): PromiseWithResolvers; } } if (typeof Promise.withResolvers !== "function") { Promise.withResolvers = function withResolvers(): PromiseWithResolvers { let resolve!: (value: T | PromiseLike) => void; let reject!: (reason?: unknown) => void; const promise = new Promise((res, rej) => { resolve = res; reject = rej; }); return { promise, resolve, reject }; }; } export {};