import type { ManifestCondition, ManifestWithDynamicConditions } from '../types/index.js'; import type { UmbExtensionRegistry } from '../registry/extension.registry.js'; import type { UmbControllerHost } from '../../controller-api/index.js'; import { UmbControllerBase } from '../../class-api/index.js'; /** * This abstract Controller holds the core to manage a single Extension. * When the extension is permitted to be used, then the extender of this class can instantiate what is relevant for this type and thereby make it available for the consumer. * @abstract * @class UmbBaseExtensionInitializer */ export declare abstract class UmbBaseExtensionInitializer extends UmbControllerBase { #private; protected _isConditionsPositive?: boolean; get weight(): number; get permitted(): boolean; get manifest(): ManifestType | undefined; get alias(): string; get overwrites(): string[]; hasConditions: () => Promise; constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry, controllerTypeName: string, alias: string, onPermissionChanged?: (isPermitted: boolean, controller: SubClassType) => void); protected _init(): void; asPromise(): Promise; protected abstract _conditionsAreGood(): Promise; protected abstract _conditionsAreBad(): Promise; equal(otherClass: UmbBaseExtensionInitializer | undefined): boolean; destroy(): void; }