import { type ParsedUrlQuery } from 'querystring'; import uWebSockets from 'uWebSockets.js'; import type express from 'express'; import { type AuthContext, Transport, type Router } from '@colyseus/core'; import { uWebSocketWrapper } from './uWebSocketClient.ts'; export type TransportOptions = Omit, "upgrade" | "open" | "pong" | "close" | "message">; type RawWebSocketClient = uWebSockets.WebSocket & { url: string; searchParams: ParsedUrlQuery; context: AuthContext; }; export declare class uWebSocketsTransport extends Transport { app: uWebSockets.TemplatedApp; protected clients: RawWebSocketClient[]; protected clientWrappers: WeakMap; private _listeningSocket; private _originalRawSend; private _expressApp?; constructor(options?: TransportOptions, appOptions?: uWebSockets.AppOptions); getExpressApp(): Promise | express.Application; bindRouter(router: Router): void; listen(port: number, hostname?: string, backlog?: number, listeningListener?: () => void): this; shutdown(): void; simulateLatency(milliseconds: number): void; protected onConnection(rawClient: RawWebSocketClient): Promise; } export {};