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
*
*