/// /// import Koa from "koa"; import http from "http"; import { Worker } from "../worker"; import { Logger } from "../logger"; export interface GameListingJson { IP: number; Port: number; GameId: number; HostName: string; PlayerCount: number; Age: number; MapId: number; NumImpostors: number; MaxPlayers: number; Platform: number; HostPlatformName: string; Language: number; } export interface MatchmakerTokenPayload { Content: { Puid: string; ClientVersion: number; ExpiresAt: string; }; Hash: string; } export declare class Matchmaker { protected readonly worker: Worker; logger: Logger; httpServer?: http.Server; privateKey: Buffer; constructor(worker: Worker); get port(): number; getRandomWorkerPort(): number; generateMatchmakerToken(puid: string, clientVersion: number): string; verifyMatchmakerToken(token: string): true | Error; verifyRequest(ctx: Koa.Context): boolean; protected createKoaServer(): Koa; listen(): void; destroy(): void; restart(): void; }