///
///
import events from 'events';
import { ChildProcess } from 'child_process';
import { CliVerbOptions } from './spawn';
import { ServiceOptions } from './types';
interface AbstractServiceEventInterface {
START_EVENT: string;
STOP_EVENT: string;
DELETE_EVENT: string;
}
export declare abstract class AbstractService extends events.EventEmitter {
static get Events(): AbstractServiceEventInterface;
readonly options: ServiceOptions;
protected __argMapping: Record;
protected __running: boolean;
protected __instance: ChildProcess | undefined;
protected __cliVerb?: CliVerbOptions;
protected __serviceCommand: string;
protected constructor(command: string, options: ServiceOptions, argMapping: Record, cliVerb?: CliVerbOptions);
start(): Promise;
stop(): Promise;
delete(): Promise;
protected spawnBinary(): ChildProcess;
protected __waitForServiceUp(): Promise;
protected __waitForServiceDown(): Promise;
private __call;
}
export {};