export class DelayedPromise { static resolveAfterDelay(value: T, delay: number): Promise { return new Promise((resolve) => setTimeout(() => resolve(value), delay)); } static rejectAfterDelay(reason: any, delay: number): Promise { return new Promise((_, reject) => setTimeout(() => reject(reason), delay)); } }