/** * Room.ts augmentations * Monkey-patches some Room methods to improve the testing experience. */ import { Deferred, type Client } from "@colyseus/core"; declare module "@colyseus/core" { interface Room { waitForMessage(messageType: string): Promise<[Client, any]>; waitForNextMessage(additionalDelay?: number): Promise; waitForNextPatch(additionalDelay?: number): Promise; waitForNextTimestep(): Promise; /** @deprecated Renamed to {@link Room.waitForNextTimestep}. Forwards unchanged. */ waitForNextSimulationTick(): Promise; _waitingForMessage: [number, Deferred]; _waitingForPatch: [number, Deferred]; _waitingForTimestep: Array<() => void>; } } declare module "@colyseus/sdk" { interface Room { waitForMessage(messageType: string, rejectTimeout?: number): Promise; waitForNextMessage(additionalDelay?: number): Promise<[string, any]>; waitForNextPatch(additionalDelay?: number): Promise; waitForInitialState(): Promise; _waitingForMessage: [number, Deferred]; } }