import type { SDKTypes, Room as ServerRoom } from '@colyseus/core';
export declare function now(): number;
/**
 * Infer the room constructor from ServerType based on the instance type.
 * This allows proper type inference for SDK Room methods like `send()` and `onMessage()`.
 */
export type InferRoomConstructor<ServerType extends SDKTypes, Instance> = ServerType extends SDKTypes<infer Rooms> ? {
    [K in keyof Rooms]: Instance extends InstanceType<Rooms[K]['~room']> ? Rooms[K]['~room'] : never;
}[keyof Rooms] : // Fallback: create a synthetic constructor type from the instance
(typeof ServerRoom) & {
    prototype: Instance;
};
