/// import * as http from "http"; import { Router, ICache, RoomManager, RoomClass, IRoomObject, WebSocketTransport, Client, Transport, IAuthManager, IPCManager, LoadBalancer } from "./internal"; export interface IServerParams { transport?: T; roomCache?: ICache; ipcManager?: IPCManager; processId?: string | number; auth?: IAuthManager; path?: string; connectionTimeout?: number; generator?: (data?: any) => string; } /** * MagX Server - Multiplayer authoritative game server */ export declare class Server = Transport> { httpServer: http.Server | null; router: Router; transport: T | WebSocketTransport; rooms: RoomManager; auth: IAuthManager; balancer: LoadBalancer; processId: string | number; ipcm: IPCManager; generator: (data?: any) => string; connectionTimeout: number; constructor(httpServer?: http.Server, params?: IServerParams); define(name: string, roomClass: RoomClass, params?: any): Server; attach(httpServer: http.Server): void; drip(): void; close(): Promise; }