import type { ExtensionAutoConvertHandler, ExtensionKey, ExtensionManifest, ExtensionType } from './types/extension-manifest'; import type { Parameters } from './types/extension-parameters'; import type { ExtensionProvider } from './types/extension-provider'; export default class DefaultExtensionProvider implements ExtensionProvider { protected manifestsPromise: Promise[]>; protected manifestsCache: ExtensionManifest[]; protected autoConvertHandlers?: ExtensionAutoConvertHandler[]; constructor(manifests: ExtensionManifest[] | Promise[]>, /** * Allows for an optional list of pre compiled auto convert handlers to be passed. * Useful for performance improvements or to support legacy converters. * * Warning: If this attribute is passed, this provider will ignore auto convert patterns from the manifests. */ autoConvertHandlers?: ExtensionAutoConvertHandler[]); getExtensions(): Promise[]>; preload(): Promise; getPreloadedExtension(type: ExtensionType, key: ExtensionKey): ExtensionManifest | undefined; getExtension(type: ExtensionType, key: ExtensionKey): Promise>; private getExtensionFromManifest; search(keyword: string): Promise[]>; getAutoConverter(): Promise; }