import type { ExtractMessageType } from '@colyseus/shared-types'; import type { Room } from '../Room.ts'; export type RoomMethodName = 'onCreate' | 'onAuth' | 'onJoin' | 'onLeave' | 'onDrop' | 'onReconnect' | 'onDispose' | 'onMessage' | 'setSimulationInterval' | 'setInterval' | 'setTimeout'; export type RoomException = OnCreateException | OnAuthException | OnJoinException | OnLeaveException | OnDropException | OnReconnectException | OnDisposeException | OnMessageException | SimulationIntervalException | TimedEventException; export declare class OnCreateException extends Error { options: Parameters[0]; constructor(cause: Error, message: string, options: Parameters[0]); } export declare class OnAuthException extends Error { client: Parameters[0]; options: Parameters[1]; constructor(cause: Error, message: string, client: Parameters[0], options: Parameters[1]); } export declare class OnJoinException extends Error { client: Parameters[0]; options: Parameters[1]; auth: Parameters[2]; constructor(cause: Error, message: string, client: Parameters[0], options: Parameters[1], auth: Parameters[2]); } export declare class OnLeaveException extends Error { client: Parameters[0]; consented: Parameters[1]; constructor(cause: Error, message: string, client: Parameters[0], consented: Parameters[1]); } export declare class OnDropException extends Error { client: Parameters[0]; code: Parameters[1]; constructor(cause: Error, message: string, client: Parameters[0], code: Parameters[1]); } export declare class OnReconnectException extends Error { client: Parameters[0]; constructor(cause: Error, message: string, client: Parameters[0]); } export declare class OnDisposeException extends Error { constructor(cause: Error, message: string); } export declare class OnMessageException extends Error { client: R['~client']; payload: ExtractMessageType; type: MessageType; constructor(cause: Error, message: string, client: R['~client'], payload: ExtractMessageType, type: MessageType); isType(type: T): this is OnMessageException; } export declare class SimulationIntervalException extends Error { constructor(cause: Error, message: string); } export declare class TimedEventException extends Error { args: any[]; constructor(cause: Error, message: string, ...args: any[]); }