import { TypedEmitter } from 'tiny-typed-emitter'; import type { Authflow } from 'prismarine-auth'; import { Player } from './serverPlayer'; import { Options } from './options'; import { Signal } from './signaling/signal'; import { Server as NethernetServer } from './nethernet/server'; import { Connection } from './nethernet/connection'; import { CompressionAlgorithm } from './transforms/framer'; interface ServerEvents { connect: (player: Player) => void; } export declare class Server extends TypedEmitter { options: Options; serializer: any; deserializer: any; clients: Map; clientCount: number; conLog: (message: any, ...optionalParams: any[]) => void; batchHeader: number[]; disableEncryption: boolean; compressionAlgorithm: CompressionAlgorithm; compressionLevel: number; compressionThreshold: number; compressionHeader: number; signaling?: Signal; nethernet?: NethernetServer; constructor(options?: Partial); setCompressor(algorithm: CompressionAlgorithm, level?: number, threshold?: number): void; onOpenConnection: (conn: Connection) => void; onCloseConnection: (conn: Connection, reason: string) => void; onEncapsulated: (buffer: Buffer, connection: Connection) => void; listen(auth: Authflow, networkId: bigint): Promise; close(disconnectReason?: string): Promise; } export {};