import { ServerWebSocket, WebSocketHandler } from 'bun'; import { Transport, type Router } from '@colyseus/core'; import { WebSocketWrapper } from './WebSocketClient.ts'; import type { Application } from "express"; export type TransportOptions = Partial, "message" | "open" | "drain" | "close" | "ping" | "pong">>; interface WebSocketData { url: string; searchParams: URLSearchParams; headers: Headers; remoteAddress: string; } export declare class BunWebSockets extends Transport { protected clients: ServerWebSocket[]; protected clientWrappers: WeakMap, WebSocketWrapper>; private _server; private _expressApp; private _router; private _originalRawSend; private options; constructor(options?: TransportOptions); getExpressApp(): Application; bindRouter(router: Router): void; listen(port: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; shutdown(): void; simulateLatency(milliseconds: number): void; protected onConnection(rawClient: ServerWebSocket): Promise; } export {};