import type { IComponentRegistry, ComponentConstructor, ComponentLoader } from './IComponentRegistry';
/**
 * ComponentRegistry - Hierarchical component registry implementation.
 *
 * NO SINGLETONS - this is instantiated per-context/per-composite.
 *
 * Features:
 * - Parent chain inheritance (child shadows parent)
 * - Lazy loading via dynamic imports
 * - Module path resolution
 * - Caching of resolved constructors
 */
export declare class HeadlessComponentRegistry implements IComponentRegistry {
    private readonly _registrations;
    private readonly _resolved;
    readonly parent?: IComponentRegistry;
    constructor(parent?: IComponentRegistry);
    /**
     * Resolve a tag to a component constructor.
     */
    resolve(tag: string): Promise<ComponentConstructor | undefined>;
    /**
     * Register a component loader.
     */
    register(tag: string, loader: ComponentLoader): void;
    /**
     * Check if tag is registered anywhere in the chain.
     */
    has(tag: string): boolean;
    /**
     * List tags registered locally.
     */
    localTags(): string[];
    /**
     * List all available tags (local + parent chain).
     */
    allTags(): string[];
    /**
     * Create a child registry inheriting from this one.
     */
    createChild(): IComponentRegistry;
    /**
     * Resolve a loader to a constructor.
     */
    private _resolveLoader;
    /**
     * Create a root registry with no parent.
     */
    static createRoot(): IComponentRegistry;
}
//# sourceMappingURL=ComponentRegistry.d.ts.map