import { ReactNode } from 'react'; import { IPortalProps } from './types'; /** * The `PortalProvider` component is responsible for managing and rendering dynamic portals in a React Native app. * It maintains a list of portals that can be added or removed on demand without re-rendering previously created portals. * * @remarks * The `PortalProvider` uses a combination of React's context and a ref-based approach to ensure that * previously rendered portals remain intact while allowing new portals to be added on top, maintaining the correct order of rendering (using `z-index`). * * It should wrap the part of your application where you want to use portals, typically at the root of your component tree. * * @example * ```tsx * const App = () => { * return ( * * * * ); * }; * ``` */ export declare function PortalProvider({ children }: { children?: ReactNode; }): import("react/jsx-runtime").JSX.Element; /** * The `Portal` component is used to render content dynamically on top of other components. * * @remarks * The `Portal` component registers its content with the `PortalProvider`, ensuring that it appears above other content. * When the `Portal` component is unmounted, it automatically removes itself from the provider. * * Each `Portal` should be given a unique key to ensure correct management by the provider. * * @param props - The properties passed to the `Portal`, including a unique key and the children to render. * * @example * ```tsx * *
* This content is rendered in the portal *
*
* ``` */ export declare function Portal({ children, ...props }: IPortalProps): null;