type PromiseConstructorLikeReturnType = C extends new( executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void, ) => infer R ? R : PromiseLike; declare function PromiseResolve(C: PromiseConstructor, x: T | PromiseLike): Promise; declare function PromiseResolve( C: C, x: T | PromiseLike, ): PromiseConstructorLikeReturnType; export = PromiseResolve;