import React from 'react'; import type { ToastProviderProps } from '@coinbase/cds-common/overlays/ToastProvider'; import type { PortalNode } from '@coinbase/cds-common/overlays/usePortalState'; export type PortalProviderProps = ToastProviderProps & { /** * By default the PortalProvider will render portal nodes. Disable this if you want to use the PortalNodes component to render the nodes instead. * @default true */ renderPortals?: boolean; }; type PortalHostProps = { nodes: PortalNode[]; }; /** * Internal component that renders active overlay nodes. On Android, nests multiple * overlays as children of each other since Android's native Modal cannot render * sibling modals at the same level. */ export declare const PortalHost: React.MemoExoticComponent< ({ nodes }: PortalHostProps) => import('react/jsx-runtime').JSX.Element | null >; /** * Required root-level provider that enables CDS overlay components (Modal, Toast, Alert, * Tooltip, Tray). Manages the registry of active overlays and provides the context for * overlay state management and toast queuing. * * Unlike the PortalProvider in cds-web, cds-mobile does not use DOM portals. Overlay components render * above other content using React Native's native Modal component. * * Must be rendered once near the root of your application, alongside ThemeProvider. */ export declare const PortalProvider: React.FC>; /** * Renders overlay nodes independently from PortalProvider. * Use this when `renderPortals={false}` is set on PortalProvider to control * where in the component tree the overlay nodes are rendered. */ export declare const PortalNodes: () => import('react/jsx-runtime').JSX.Element; export {}; //# sourceMappingURL=PortalProvider.d.ts.map