import { type ForwardRefExoticComponent, type ReactElement, type ReactNode, type RefAttributes } from 'react'; import type { LightningElement, LightningViewElementStyle } from '@plextv/react-lightning'; /** * Returns true when the calling component is inside a {@link FlexRoot} * subtree (and not below a nested {@link FlexBoundary}). Components like * `VirtualList` use this to decide whether to expose flex layout to the * content they render. */ export declare function useIsInFlex(): boolean; export interface FlexBoundaryProps { children: ReactNode; style?: LightningViewElementStyle | null; onResize?: (event: { w: number; h: number; }) => void; } /** * Disables flex layout for everything rendered below it. The wrapper itself * still participates in any outer flex tree (so it can be sized), but its * descendants are detached from yoga until a nested {@link FlexRoot} re-opts * them back in. */ export declare function FlexBoundary({ children, style, onResize }: FlexBoundaryProps): ReactElement; export interface FlexRootProps { children: ReactNode; style?: LightningViewElementStyle | null; onResize?: (event: { w: number; h: number; }) => void; } /** * Opts a subtree into flex layout by becoming an independent yoga root. Flex * is opt-in for this plugin — without an ancestor `FlexRoot` somewhere above, * elements get no flex behavior. Wrap your app's root (or any subtree that * should use flexbox) with this component. */ export declare const FlexRoot: ForwardRefExoticComponent>; //# sourceMappingURL=wrappers.d.ts.map