import * as React from 'react';
import { type BaseUIComponentProps } from '../../utils/types.js';
import { type TransitionStatus } from '../../utils/useTransitionStatus.js';
import { InteractionType } from '../../utils/useEnhancedClickHandler.js';
/**
 * A container for the dialog contents.
 * Renders a `<div>` element.
 *
 * Documentation: [Base UI Dialog](https://base-ui.com/react/components/dialog)
 */
declare const DialogPopup: React.ForwardRefExoticComponent<DialogPopup.Props & React.RefAttributes<HTMLDivElement>>;
declare namespace DialogPopup {
    interface Props extends BaseUIComponentProps<'div', State> {
        /**
         * Whether to keep the HTML element in the DOM while the dialog is hidden.
         * @default false
         */
        keepMounted?: boolean;
        /**
         * Determines the element to focus when the dialog is opened.
         * By default, the first focusable element is focused.
         */
        initialFocus?: React.RefObject<HTMLElement | null> | ((interactionType: InteractionType) => React.RefObject<HTMLElement | null>);
        /**
         * Determines the element to focus when the dialog is closed.
         * By default, focus returns to the trigger.
         */
        finalFocus?: React.RefObject<HTMLElement | null>;
    }
    interface State {
        /**
         * Whether the dialog is currently open.
         */
        open: boolean;
        transitionStatus: TransitionStatus;
        /**
         * Whether the dialog is nested within a parent dialog.
         */
        nested: boolean;
        /**
         * Whether the dialog has nested dialogs open.
         */
        hasNestedDialogs: boolean;
    }
}
export { DialogPopup };
