import TinyDiInjectable from '../tinydiinjectable'; import { Logger } from '../logger'; export default class PluginSystem extends TinyDiInjectable { private config; private logger; private websocket; private child; private pluginStatus; private systemSocket; constructor(config: any, logger: Logger, websocket: SocketIO.Server); /** * create a websocket * the pluginsystem will connect at startup */ createSocket(): void; /** * starts the plugin system in a new process */ start(): void; /** * stops the plugin system -> kill the process */ stop(): void; /** * restarts the plugin system */ restart(): void; /** * register websocket routes for plugin system -> start, stop, restart, * get status of all plugins */ registerWebsocketRoutes(client: SocketIO.Socket): void; resetAllPluginStatus(): void; }