import type { LightningElement, LightningElementStyle } from '@plextv/react-lightning'; import type { YogaOptions } from './types/YogaOptions'; /** Lifecycle of Yoga nodes for Lightning elements. Main-thread only. */ export declare class LightningManager { private _elements; private _boundaries; private _flexRoots; /** childId -> yoga-side parentId. Lets boundary/flex-root marking stay sync without a worker round-trip. */ private _yogaParents; /** Per-parent attached-children count. Lets `_yogaIndexFor` skip the O(n) sibling walk on append-at-end. */ private _yogaChildCounts; private _yogaManager; init(yogaOptions?: YogaOptions): Promise; /** * Detaches the element's subtree from yoga (and excludes future * descendants). A nested {@link markFlexRoot} re-enables flex below it. * No-op outside a flex root since those elements are already excluded. */ markBoundary(element: LightningElement): () => void; unmarkBoundary(elementId: number): void; /** * Opts an element and its subtree into flex layout as an independent * yoga root. Flex is opt-in — without a flex root above it, an element * is invisible to yoga. */ markFlexRoot(element: LightningElement): () => void; unmarkFlexRoot(elementId: number): void; /** True when the element should NOT participate in yoga (no flex root ancestor, or a boundary intervenes). */ private _isInBoundary; /** * Yoga-side index for inserting at React's `reactIndex`, accounting for * skipped siblings (boundaries, flex roots). Append-at-end fast path * uses the cached count — turns O(N²) mass-mount into O(N). */ private _yogaIndexFor; /** Maintains `_yogaParents` and `_yogaChildCounts` together so the fast path stays accurate. */ private _setYogaParent; /** Counterpart of `_setYogaParent`. `parentId` passed explicitly since `_yogaParents.get` may already be cleared. */ private _clearYogaParent; private _reattachChildren; trackElement(element: LightningElement): void; applyStyle(elementId: number, style?: Partial | null, skipRender?: boolean): void; private _applyUpdates; } //# sourceMappingURL=LightningManager.d.ts.map