import { IDocumentFactory, IElementLike, INodeLike } from "./DocumentInterface"; /** * Resolves the correct document factory for creating children of a given parent node. * * Resolution order: * 1. If parent is a portal with its own factory, use that * 2. If parent was created with an overridden factory (descendant of a portal), inherit it * 3. Returns undefined if no override applies (caller should use default factory) */ export declare function resolveChildFactory(parentNode: INodeLike, elementFactoryOverride: Map): IDocumentFactory | undefined; /** * After creating an element, checks if it is a portal that provides a different document factory. * Returns the child factory and whether a portal factory is being used. */ export declare function resolvePortalChildFactory(element: IElementLike, currentFactory: IDocumentFactory): { childFactory: IDocumentFactory; usingPortalFactory: boolean; }; /** * Records a factory override for an element if it was created with a non-default factory. */ export declare function recordFactoryOverride(element: INodeLike, factory: IDocumentFactory, defaultFactory: IDocumentFactory, elementFactoryOverride: Map): void; /** * Flushes pending portal children to their portal target elements. */ export declare function flushPendingPortalChildren(pendingPortalChildren: Map): void; /** * Buffers a child element for deferred attachment to a portal parent. */ export declare function bufferPortalChild(pendingPortalChildren: Map, portalParent: IElementLike, child: INodeLike): void; //# sourceMappingURL=PortalUtils.d.ts.map