import { type ReactElement, type ReactNode, type RefObject } from "react";
/**
 * @internal
 * @remarks \@since 6.0.0
 */
export type PortalContainer = Element | DocumentFragment | null;
export declare const PORTAL_CONTAINER_ID = "rmd-portal-container";
/**
 * @internal
 * @remarks \@since 6.0.0
 */
export declare function usePortalContainer(): PortalContainer;
/** @remarks \@since 6.0.0 */
export interface PortalContainerProviderProps {
    /**
     * An optional container element to use. When this is `undefined`, a
     * `<div id="rmd-portal-container"></div>` will be added as the last child to
     * the `document.body` and be used as the container element.
     */
    container?: PortalContainer | RefObject<PortalContainer>;
    children: ReactNode;
}
/**
 * **Client Component**
 *
 * This component allows for all child `Portal` components to render within the
 * same container element. If a custom `container` element is not provided, a
 * `<div id="rmd-portal-container"></div>` will be added as the last child to
 * the `document.body` and be used as the container element.
 *
 * @see {@link Portal}
 * @remarks \@since 6.0.0
 */
export declare function PortalContainerProvider(props: PortalContainerProviderProps): ReactElement;
