import * as express from '@theia/core/shared/express'; import { ILogger } from '@theia/core'; import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application'; import { PluginMetadata, PluginPackage, PluginContribution } from '../../common/plugin-protocol'; import { MetadataScanner } from './metadata-scanner'; export declare class HostedPluginReader implements BackendApplicationContribution { protected readonly logger: ILogger; protected readonly scanner: MetadataScanner; private readonly metadataProcessors; /** * Map between a plugin id and its local storage */ protected pluginsIdsFiles: Map; configure(app: express.Application): void; /** * Resolves a plugin file path with fallback to .js and .cjs extensions. * * This handles cases where plugins reference modules without extensions, * which is common in Node.js/CommonJS environments. * */ protected resolveFile(absolutePath: string): Promise; protected handleMissingResource(req: express.Request, res: express.Response): Promise; /** * @throws never */ getPluginMetadata(pluginPath: string | undefined): Promise; readPackage(pluginPath: string | undefined): Promise; readMetadata(plugin: PluginPackage): Promise; readContribution(plugin: PluginPackage): Promise; readDependencies(plugin: PluginPackage): Map | undefined; } //# sourceMappingURL=plugin-reader.d.ts.map