/// import { EventEmitter } from 'events'; import { FullVersion as PackageJson } from 'package-json'; import { BreezrPlugin, PluginAsyncMethodMap, Thenable, PluginConfig, PluginSyncMethodMap } from './types/PluginAPI'; import { ServiceOption } from './types/ServiceOption'; import { CommandMap, CommandArgs } from './types/Command'; /** * */ export declare class Service extends EventEmitter { readonly cwd: string; readonly pkg: PackageJson; readonly plugins: Array; readonly commands: CommandMap; readonly asyncMethods: PluginAsyncMethodMap; readonly syncMethods: PluginSyncMethodMap; private _pluginStateMap; private _serviceOptions; constructor(options: ServiceOption); /** * * @param name * @param args * @param rawArv */ run(name: string, args?: CommandArgs): Promise; /** * get project config */ getConfig(): PluginConfig; invoke(apiName: string, ...args: any[]): Thenable; invokeSync(apiName: string, ...args: any[]): T; /** * init plugin */ init(args: CommandArgs): Promise; private resolvePresets; private loadPluginOptions; /** * * @param {BreezrPlugin} plugin */ initPlugin(plugin: BreezrPlugin): Promise; /** * find all first class plugins for project * @returns {Array} - plugins */ private resolveBuiltInPlugins; /** * Check if the project has a given plugin * @param {string} id - Plugin id, can omit the (@breezr/|breezr-|@scope/breezr)-plugin- prefix */ hasPlugin(id: string): boolean; }