import type { ServerWebSocket } from 'bun'; import EventEmitter from 'events'; import { type Client, type ClientPrivate, ClientState, type ISendOptions } from '@colyseus/core'; export declare class WebSocketWrapper extends EventEmitter { ws: ServerWebSocket; constructor(ws: ServerWebSocket); } export declare class WebSocketClient implements Client, ClientPrivate { '~messages': any; id: string; ref: WebSocketWrapper; sessionId: string; state: ClientState; reconnectionToken: string; _enqueuedMessages: any[]; _afterNextPatchQueue: any; _reconnectionToken: string; _joinedAt: number; constructor(id: string, ref: WebSocketWrapper); sendBytes(type: string | number, bytes: Buffer | Uint8Array, options?: ISendOptions): void; send(messageOrType: any, messageOrOptions?: any | ISendOptions, options?: ISendOptions): void; enqueueRaw(data: Uint8Array | Buffer, options?: ISendOptions): void; raw(data: Uint8Array | Buffer, options?: ISendOptions, cb?: (err?: Error) => void): void; error(code: number, message?: string, cb?: (err?: Error) => void): void; get readyState(): Bun.WebSocketReadyState; leave(code?: number, data?: string): void; close(code?: number, data?: string): void; toJSON(): { sessionId: string; readyState: Bun.WebSocketReadyState; }; }