import { IGraphElement, LernaNode } from './';
import { Package } from './';
import { Service } from './';
import { IConfig } from '../config/config';
import { Logger } from '../utils/logger';
import { IPCSocketsManager } from '../ipc/socket';
import { IOSocketManager } from '../server/socket';
import { RecompilationScheduler } from '../utils/scheduler';
export declare const isService: (location: string) => boolean;
export declare class LernaGraph {
    private _io;
    private readonly _config;
    private readonly projectRoot;
    private readonly ports;
    private readonly nodes;
    private readonly _logger;
    get logger(): Logger;
    get io(): IOSocketManager;
    constructor(scheduler: RecompilationScheduler, nodes: IGraphElement[], projectRoot: string, config: IConfig, logger: Logger, defaultPort?: number);
    getPort(service: string): number;
    registerIPCServer(sockets: IPCSocketsManager): void;
    enableNodes(): void;
    enableOne(node: LernaNode): void;
    disableOne(node: LernaNode): void;
    enableAll(): void;
    getProjectRoot(): string;
    getServices(): Service[];
    getPackages(): Package[];
    getNodes(): LernaNode[];
    get(name: string): LernaNode;
    bootstrap(): Promise<void>;
    registerIOSockets(io: IOSocketManager): void;
}
