///
import { ChildProcessWithoutNullStreams } from "child_process";
import ServerCommunicator from "./ServerCommunicator";
import BackupModule from "./BackupModule";
import { ServerMetadata } from "../helpers";
export default class GameServer extends ServerCommunicator {
private command;
readonly dir: string;
private serverProcess;
backups: BackupModule | undefined;
get name(): string | undefined;
get tag(): string | undefined;
readonly metadata: ServerMetadata | undefined;
get pid(): number | undefined;
/**
*
* @param command
* @param directory The directory in which the command is run
*/
constructor(command: string, directory: string, metadata?: ServerMetadata);
enableBackups(): Promise;
reload(): void;
protected resetState(): void;
static spawn(command: string, dir: string): ChildProcessWithoutNullStreams;
/**
*
* @returns The exit code of the server process if the code could be catched
* @throws {NoStandardStreamsError} if the server is already stopped
*/
stop(): Promise;
/**
* @param signal The signal to send to the process when killed. Ignored when on Windows
* @returns The exit code of the server process if the code could be catched
* @throws {NoStandardStreamsError} if the server is already stopped
*/
forceStop(signal?: NodeJS.Signals): Promise;
/**
* @description Starts the server if the server is not started
*
* @returns true if the server was started
*/
start(): boolean;
}
//# sourceMappingURL=GameServer.d.ts.map