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;