import type { ExtensionAutoConvertHandler, ExtensionKey, ExtensionManifest, ExtensionProvider, ExtensionType, Parameters } from './types';
export default class DefaultExtensionProvider<T extends Parameters> implements ExtensionProvider<T> {
    private manifestsPromise;
    private autoConvertHandlers?;
    constructor(manifests: ExtensionManifest<T>[] | Promise<ExtensionManifest<T>[]>, 
    /**
     * 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<ExtensionManifest<T>[]>;
    getExtension(type: ExtensionType, key: ExtensionKey): Promise<ExtensionManifest<T>>;
    search(keyword: string): Promise<ExtensionManifest<T>[]>;
    getAutoConverter(): Promise<ExtensionAutoConvertHandler[]>;
}
