import type { ManifestBase } from '../types/index.js'; import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; import type { SpecificManifestTypeOrManifestBase } from '../types/map.types.js'; import { UmbControllerBase } from '../../class-api/index.js'; import type { UmbElement } from '../../element-api/index.js'; /** * Base class for extension initializers, which are responsible for loading and unloading extensions. */ export declare abstract class UmbExtensionInitializerBase> extends UmbControllerBase { #private; protected host: UmbElement; protected extensionRegistry: UmbExtensionRegistry, ManifestBase | T>; loaded: import("rxjs").Observable; constructor(host: UmbElement, extensionRegistry: UmbExtensionRegistry, manifestType: Key); /** * Perform any logic required to instantiate the extension. */ abstract instantiateExtension(manifest: T): Promise | void; /** * Perform any logic required to unload the extension. */ abstract unloadExtension(manifest: T): Promise | void; }