/// import { Socket } from 'net'; import { ByteBuffer } from '../buffer'; import { ConnectionStatus } from './connection-status'; export declare abstract class SocketServer { readonly socket: Socket; protected _connectionStatus: ConnectionStatus | T; constructor(socket: Socket); static launch>(serverName: string, hostName: string, port: number, socketServerFactory: (socket: Socket) => T): void; dataReceived(data: Buffer): void; closeConnection(): void; error(error: any): void; abstract initialHandshake(data: ByteBuffer): boolean; abstract decodeMessage(data: ByteBuffer): void | Promise; abstract connectionDestroyed(): void; get connectionStatus(): ConnectionStatus | T; get connectionAlive(): boolean; }