/// import { IncomingMessage } from 'http'; import { IWSServerOptions, IWSSocket, ISession } from '../contracts'; import { AbstractClient } from './client'; import { AbstractGateway } from './gateway'; import { AbstractSession } from './session'; export declare abstract class AbstractServer, TGateway extends AbstractGateway> { static getSession, C extends AbstractClient, G extends AbstractGateway>(id: string): S; private tokenizer; constructor(options: IWSServerOptions); protected useTokens(protocol: string): boolean; protected abstract getSessionClass(protocol: string): { new (client: TClient, gateway: TGateway): TSession; }; protected abstract getClientClass(protocol: string): { new (socket: IWSSocket, request: IncomingMessage): TClient; }; protected abstract getGatewayClass(protocol: string): { new (): TGateway; }; private verifyClient; }