import { LernaGraph } from '../lerna';
import { TranspilingStatus } from '../lerna/enums/compilation.status';
import { ServiceStatus } from '../lerna/enums/service.status';
import { Observable } from 'rxjs';
import { RecompilationScheduler } from '../utils/scheduler';
import { Logger } from '../utils/logger';
interface IGraphStatus {
    name: string;
    compiled: TranspilingStatus;
    status: ServiceStatus;
}
export declare class IPCSocketsManager {
    private _ipc;
    private _graph;
    private readonly _id;
    private _sockets;
    private readonly _scheduler;
    private readonly _logger;
    constructor(projectRoot: string, scheduler: RecompilationScheduler, logger: Logger, graph?: LernaGraph);
    createServer(): Promise<void>;
    private _startOne;
    private _startAll;
    private _findService;
    private _emitEvent;
    private _emitSuccess;
    private _emitFailure;
    private _stopOne;
    private _stopAll;
    private _restartOne;
    private _restartAll;
    subscribeStatus(): Observable<IGraphStatus>;
    graphUpdated(): void;
    requestStop(service?: string): Promise<void>;
    requestStart(service?: string): Promise<void>;
    requestRestart(service?: string): Promise<void>;
    private _requestAction;
    private static _requestEvent;
    private static _responseEvent;
    private static _errorEvent;
    private _emitGraph;
}
export {};
