import TinyDiInjectable from '../tinydiinjectable'; import { Logger } from '../logger'; import PluginSystem from '../extensions/pluginsystem'; import { DependencyManager } from '../../pluginsystem/depmanager'; export default class Configuration extends TinyDiInjectable { private logger; private websocket; private depManager; constructor(logger: Logger, websocket: SocketIO.Server, pluginSystem: PluginSystem, depManager: DependencyManager); /** * send collected metadata to given websocket */ sendMetadata(client: SocketIO.Socket): void; /** * collects configuration and dependencies for all plugins */ collectPluginsData(): any; writeAutostartConfigToFile(data: any): Q.Promise; readConfigFile(): Q.Promise; writeConfigFile(config: any): Q.Promise; collectPluginConfigData(plugin: string): any; savePluginConfig(plugin: string, pluginConfig: any): Q.Promise; }