/**
 * Return the corrective portal target for a layer's intended inline parent.
 *
 * A null result means the inline parent and all of its ancestors are safe, so
 * the layer should stay at its JSX position. Otherwise the result is the
 * nearest element outside every unsafe ancestor around that position.
 *
 * Walking up from the actual render position (rather than the trigger, or
 * portaling to `document.body`) keeps the two things a layer inherits there:
 *
 * - **Theme.** Theme scopes live on DOM ancestors. Staying as close as
 *   possible to the intended render position preserves their component rules
 *   and custom properties; `document.body` may sit outside a nested scope.
 * - **Tab order.** Sequential focus follows DOM order, so a host near the
 *   trigger keeps the layer's focusables next to it. (`show()` also passes
 *   the trigger as the popover's invoker `source`, which pins focus order to
 *   the invoker in browsers that support it.)
 *
 * The outermost unsafe ancestor matters. A safe div may itself sit inside an
 * anchor; stopping at that div would still put the layer's buttons inside the
 * link. Walking the whole chain ensures the target is outside both.
 */
export declare function resolveLayerPortalTarget(inlineParent: HTMLElement | null): HTMLElement | null;
//# sourceMappingURL=layerHost.d.ts.map