import { Logger } from '../../core/logger/logger.service'; import { ConfigService } from '../../core/config/config.service'; export interface HomebridgePlugin { name: string; description?: string; certifiedPlugin?: boolean; publicPackage?: boolean; installedVersion?: string; latestVersion?: boolean; updateAvailable?: boolean; installPath?: string; globalInstall?: boolean; settingsSchema?: boolean; links?: { npm?: string; homepage?: string; bugs?: string; }; author?: string; } export declare class PluginsService { private configService; private logger; private npm; private paths; private installedPlugins; private rp; constructor(configService: ConfigService, logger: Logger); getInstalledPlugins(): Promise; getOutOfDatePlugins(): Promise; searchNpmRegistry(query: string): Promise; searchNpmRegistrySingle(query: string): Promise; installPlugin(pluginName: string, client: any): Promise; uninstallPlugin(pluginName: string, client: any): Promise; updatePlugin(pluginName: string, client: any): Promise; getHomebridgePackage(): Promise; updateHomebridgePackage(client: any): Promise; getPluginConfigSchema(pluginName: string): Promise; getPluginChangeLog(pluginName: string): Promise<{ changelog: string; }>; getPluginRelease(pluginName: string): Promise<{ name: any; changelog: any; }>; private getInstalledModules; private getNpmPath; private getBasePaths; private parsePackageJson; private getPluginFromNpm; private runNpmCommand; }