///
import { Readable, Writable } from "stream";
import Event, { AutosaveOffEvent, AutosaveOnEvent, GameSaveEvent, CommunicatorEvent, PlayerQuitEvent } from "../Event";
import Player from "../Player";
import { StandardEmitter } from "./StandardEmitter";
declare type CommunicatorEventListener = (event: T) => void;
/**
* Player name alias for readability
*/
declare type PlayerName = string;
/**
* Should be created before the server has started.
*/
export default class ServerCommunicator {
private listeners;
protected _stdout: Readable | null;
protected _stderr: Readable | null;
protected _stdin: Writable | null;
/**
* @description contains all the standard streams
*/
std: StandardEmitter;
events: CommunicatorEventEmitter;
protected _players: Map;
get players(): Readonly