import { default as React } from 'react'; import { PortalContext, PortalBridgeProps } from './types'; /** * React context for portal state. */ /** * Hook to access portal context. */ export declare function usePortalBridgeContext(): PortalContext | null; /** * Renders children through a portal while preserving DOM context. * * @remarks * This component creates a React portal but ensures that the * DOM context from the source location is available to the * portal content. This is useful for modals, tooltips, and * other overlay components that need to know about their * logical position in the component tree. * * @example * ```tsx * // Basic usage * * Content * * * // With custom target and layer * * Content * * * // With lifecycle callbacks * console.log('Mounted:', portal)} * onPortalUnmount={() => console.log('Unmounted')} * > * Content * * ``` */ export declare function PortalBridge({ children, target, layer, bridgeEvents, preserveScrollPosition, onPortalMount, onPortalUnmount, className, style, 'data-testid': testId, fallbackToInline, fallback, onPortalError, }: PortalBridgeProps): React.JSX.Element | null; /** * Props for ModalPortal component. */ export interface ModalPortalProps extends Omit { /** Whether the modal is open */ isOpen: boolean; /** Accessible label for the modal */ ariaLabel?: string; /** ID of element that labels the modal */ ariaLabelledBy?: string; /** ID of element that describes the modal */ ariaDescribedBy?: string; } /** * Portal specifically configured for modal dialogs. * Includes proper accessibility attributes: role="dialog" and aria-modal="true" * * @example * ```tsx * * * Title * Content * * * ``` */ export declare function ModalPortal({ isOpen, children, ariaLabel, ariaLabelledBy, ariaDescribedBy, ...props }: ModalPortalProps): React.JSX.Element | null; /** * Props for TooltipPortal component. */ export interface TooltipPortalProps extends Omit { /** Whether the tooltip is visible */ isVisible: boolean; } /** * Portal specifically configured for tooltips. * * @example * ```tsx * * * Tooltip content * * * ``` */ export declare function TooltipPortal({ isVisible, children, ...props }: TooltipPortalProps): React.JSX.Element | null; /** * Props for PopoverPortal component. */ export interface PopoverPortalProps extends Omit { /** Whether the popover is open */ isOpen: boolean; } /** * Portal specifically configured for popovers. * * @example * ```tsx * * * Popover content * * * ``` */ export declare function PopoverPortal({ isOpen, children, ...props }: PopoverPortalProps): React.JSX.Element | null;