import type VersionedPluginRepository from "../../api/plugin_repository/VersionedPluginRepository.ts"; import type ExtensionDescriptor from "../../api/plugin/ExtensionDescriptor.ts"; import type ExtensionEntry from "../../api/plugin_repository/ExtensionEntry.ts"; import type VersionedPluginDescriptor from "../../api/plugin_repository/VersionedPluginDescriptor.ts"; interface ManifestEntry { pluginId: string; bundlePath: string; pluginData?: Record; extensionPoints: string[]; scope?: string; name: string; version: string; dependencies?: Array<{ scope?: string; name: string; versionRange: string; }>; } /** * {@link VersionedPluginRepository} backed by a local folder containing plugin bundle files. * * Tracks installed plugins via a JSON manifest file (`manifestFileName`) written to * `pluginFolderPath`. Used as the local installation target by {@link HttpPluginInstaller}. */ export default class LocalFolderPluginRepository implements VersionedPluginRepository { readonly pluginFolderPath: string; readonly manifestFileName: string; constructor(pluginFolderPath: string, manifestFileName: string); private get manifestPath(); readManifest(): Promise; writeManifest(entries: ManifestEntry[]): Promise; private entryToDescriptor; private getPluginsAsyncIterable; getPlugins(): AsyncIterable>; getPlugin(pluginId: string): Promise | undefined>; private scanForExtensionsAsyncIterable; scanForExtensions(extensionPoint: string): AsyncIterable>; getExtensionDescriptorFromExtensionEntry(extensionEntry: ExtensionEntry): Promise>; } export {}; //# sourceMappingURL=LocalFolderPluginRepository.d.ts.map