import { default as React, ReactNode } from 'react'; interface PortalContextType { current: HTMLDivElement | null; } export declare const PortalContext: React.Context; /** A hook that creates a portal container in the current portal root, and returns this newly created container as a node to use in other components: * ``` * const portalRef = usePortalRef() * * createPortal(, portalRef ? portalRef : document.body) * ``` * The ref to the portal container element can also be passed as a parameter to components that expect a reference element for positioning, such as Flatpickr / DateTimePickr. */ export declare function usePortalRef(): HTMLDivElement | null; /** A PortalProvider component that helps using and managing portals. * It renders a portal root container, creates a context to expose a ref the container, a `PortalProvider.Portal` component to render content into a portal, and a `usePortalRef` hook to render content into a portal. * Normally, there is no need to include `PortalProvider` manually, when using `AppShell` `PortalProvider` is already included in the app. * @see https://cloudoperators.github.io/juno/?path=/docs/wip-portalprovider--docs * @see {@link PortalProviderProps} */ export declare const PortalProvider: { ({ children, className, id }: PortalProviderProps): React.JSX.Element; Portal: { ({ children }: import('./PortalProvider.Portal.component').PortalProviderPortalProps): ReactNode; displayName: string; }; }; export interface PortalProviderProps { /** Optionally a class name can be passed to the portal container which is the container where portals are created by PortalProvider */ className?: string; /** Optionally an id can be passed to the portal container which is the container where portals are created by PortalProvider */ id?: string; /** The PortalProvider must have children. It is typically used as a wrapper for the whole app. */ children?: ReactNode; } export {}; //# sourceMappingURL=PortalProvider.component.d.ts.map