import { type ReactNode } from "react"; import { type StyleProp, type ViewStyle } from "react-native"; export interface OverlayHost { /** Register or update a portaled node. Called on every render of . */ mount(id: string, node: ReactNode): void; /** Remove a portaled node. Called only when a unmounts. */ unmount(id: string): void; /** Measure the outlet's window rect, for relative anchoring. */ measureOutlet(cb: (x: number, y: number, width: number, height: number) => void): void; } /** The nearest overlay host, or null when no is mounted. */ export declare function useOverlayHost(): OverlayHost | null; export interface OverlayProviderProps { children: ReactNode; /** * Style for the positioning wrapper. Defaults to `flex: 1` so an app-root host * fills the screen; pass a style to override for a content-sized host (e.g. a * docs example stage). */ style?: StyleProp; } export declare function OverlayProvider({ children, style }: OverlayProviderProps): import("react").JSX.Element; export interface PortalProps { children: ReactNode; } /** * Teleport `children` into the nearest outlet. With no provider * mounted, render them inline in place (the kit's pre-portal behavior). */ export declare function Portal({ children }: PortalProps): import("react").JSX.Element | null; //# sourceMappingURL=portal.d.ts.map