/// /// import { ChildProcess } from 'child_process'; import { EventEmitter } from 'events'; import { IFnTarget } from '../../fn-utils/lib/common'; import type { IClientTarget } from './lib/web_client/types'; import { TAppSailServerDetails } from '../features/appsail'; import { TSlateServerDetails } from '../features/slate'; export interface IServerDetails { type: 'client' | 'server' | 'functions' | 'appsail' | 'slate'; target: T; httpPort: T extends IFnTarget | IClientTarget ? number : undefined; debugPort: T extends IFnTarget ? number : undefined; process?: ChildProcess | EventEmitter; isAlive: boolean | null; restarting: boolean; } export type TServerTargets = { functions: Array>; server: Array>; client: Array>; appSail: Array>; slate: Array>; }; declare class Server { private targetsMap; private masterServer?; private _addBasicFnDetails; add(type: 'client' | 'server' | 'appsail' | 'functions' | 'slate', target: IFnTarget | TAppSailServerDetails | IClientTarget | TSlateServerDetails): void; private startServer; start(): Promise; wait(): Promise; private kill; restart(target: IServerDetails): Promise; stop(): Promise; } export default Server;