import type { ApiManager } from '../api-manager/ApiManager'; import type { AnyExecutionContext } from '../execution-context/ExecutionContext'; import type { AnyPackage, RemovePackage } from '../package-api/PackageApi'; import type { Replacer } from './RegistryInterface'; type AnyApiManager = ApiManager; export declare class Registry { private readonly apiManager; private readonly parentRegistry; private readonly usedComponents; private componentMap; private executedPackages; private abortingPackages; private boundContext; private readonly childRegistries; private readonly packages; private readonly replacers; constructor(apiManager: AnyApiManager, parentRegistry?: Registry | undefined, usedComponents?: Set); createChild(): Registry; removeChild(child: Registry): void; bind(context: AnyExecutionContext): void; private getMatchingReplacers; private applyReplacers; private set; private getDependentPackages; private delete; private isInUse; private addReplacer; private has; private get; destroy(): void; private isExecuting; private satisfies; private trackExecution; private tryResolvePackageDependencies; private executePackage; private maybeChainPackageExecution; private getAllPackages; private addPackage; private removePackage; getApi(): { has: (name: K) => boolean; get: (name: K_1) => RegistryMap[K_1]; set: (name: K_2, instance: RegistryMap[K_2]) => void; delete: (name: K_3) => boolean; addReplacer: (name: K_4, replacer: Replacer) => void; }; getPackageApi(): { add: (pkg: AnyPackage) => RemovePackage; }; } export {};