/**
 * Create a portal root that preserves theme scope styling while escaping
 * local stacking contexts.
 *
 * Why this exists:
 * - Theme variables are applied via inline styles on the nearest `.theme-scope`.
 * - Some pages create stacking contexts (e.g. transformed hero decorations) that
 *   can sit above fixed-position overlays rendered inside the normal tree.
 * - Portaling to `document.body` escapes stacking contexts, but loses theme scope.
 *
 * This helper creates a new `.theme-scope` element attached to `document.body`,
 * copying inline CSS vars + relevant data attrs from the current theme scope.
 */
export type ThemePortalRoot = {
    root: HTMLElement;
    cleanup: () => void;
};
export declare function createBodyThemePortalRoot(sourceEl: Element): ThemePortalRoot | null;
