///
///
import Bunyan from "bunyan";
import SocketIO from "socket.io";
import { Config } from "../Config";
export declare class Server {
readonly config: Readonly;
private readonly logger;
private _started;
private _stopping;
private http;
private httpServer;
private io;
private readonly plugins;
constructor(baseConfig: Config);
readonly started: boolean;
readonly baseLogger: Bunyan;
readonly dataDirectory: string;
readonly state: {
[pluginName: string]: object;
};
readonly authenticatedSockets: Array;
start(returnImmediately?: boolean): Promise;
stop(): Promise;
messageToAuthenticated(messageName: string, messageBody: object): void;
notifyClientsOfStateChange(pluginName: string): void;
private initializeSocketIO(localIdentifiers);
private attachSocketIOHandlers(socket);
}