import * as react_jsx_runtime from 'react/jsx-runtime';
import { ReactNode, PropsWithChildren } from 'react';
import { FloatingContainerProps } from '../layout/FloatingContainer.js';
import '../../hooks/useFloatingElement.js';

type DialogProps = Omit<FloatingContainerProps, 'backgroundOverlay'> & {
    /** Whether the dialog is currently open */
    isOpen: boolean;
    /** Title of the Dialog used for accessibility */
    titleElement: ReactNode;
    /** Description of the Dialog used for accessibility */
    description: ReactNode;
    /** Callback when the dialog tries to close */
    onClose?: () => void;
    /** Styling for the background */
    backgroundClassName?: string;
    /** Styling for the main content */
    className?: string;
    /** If true shows a close button and sends onClose on background clicks */
    isModal?: boolean;
};
/**
 * A generic dialog window which is managed by its parent
 */
declare const Dialog: ({ children, isOpen, titleElement, description, isModal, onClose, horizontalAlignment, verticalAlignment, className, backgroundClassName, }: PropsWithChildren<DialogProps>) => react_jsx_runtime.JSX.Element;

export { Dialog, type DialogProps };
