import React from "react";
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
interface DialogOverlayProps {
    className?: string;
    ref?: React.Ref<React.ComponentRef<typeof DialogPrimitive.Backdrop>>;
}
interface DialogContentProps {
    className?: string;
    children?: React.ReactNode;
    closeButtonShown?: boolean;
    ref?: React.Ref<React.ComponentRef<typeof DialogPrimitive.Backdrop>>;
}
interface DialogHeaderProps {
    className?: string;
    children?: React.ReactNode;
}
interface DialogFooterProps {
    className?: string;
    children?: React.ReactNode;
}
interface DialogTitleProps {
    className?: string;
    children?: React.ReactNode;
    ref?: React.Ref<React.ComponentRef<typeof DialogPrimitive.Title>>;
}
interface DialogDescriptionProps {
    className?: string;
    ref?: React.Ref<React.ComponentRef<typeof DialogPrimitive.Description>>;
}
/**
 * Modal dialog root component
 *
 * Based on [Dialog](https:/ui.shadcn.com/docs/components/dialog)
 *
 * @example
 * ```tsx
 * function MyComponent() {
 *     const [isOpen, setIsOpen] = useState(false);
 *
 *     return (
 *         <Dialog open={isOpen} onOpenChange={setIsOpen}>
 *         ...
 *         </Dialog>
 *     );
 * }
 * ```
 */
declare const Dialog: typeof DialogPrimitive.Root;
/**
 * Dialog trigger component
 *
 * Based on [Dialog.Trigger](https:/ui.shadcn.com/docs/components/dialog)
 */
declare const DialogTrigger: DialogPrimitive.Trigger;
/**
 * Dialog portal component
 *
 * Based on [Dialog.Portal](https:/ui.shadcn.com/docs/components/dialog)
 */
declare const DialogPortal: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogPortalProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
/**
 * Close button component
 *
 * Based on [Dialog.Close](https:/ui.shadcn.com/docs/components/dialog)
 */
declare const DialogClose: React.ForwardRefExoticComponent<Omit<import("@base-ui/react").DialogCloseProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
/**
 * Semi-transparent backdrop
 *
 * Based on [Dialog.Overlay](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogOverlay({ className, ref }: DialogOverlayProps): React.JSX.Element;
declare namespace DialogOverlay {
    var displayName: string;
}
/**
 * Main content container for the dialog
 *
 * Based on [Dialog.Content](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogContent({ className, children, closeButtonShown, ref }: DialogContentProps): React.JSX.Element;
declare namespace DialogContent {
    var displayName: string;
}
/**
 * Dialog header
 *
 * Based on [Dialog](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogHeader({ className, children }: DialogHeaderProps): React.JSX.Element;
declare namespace DialogHeader {
    var displayName: string;
}
/**
 * Dialog footer
 *
 * Based on [Dialog](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogFooter({ className, children }: DialogFooterProps): React.JSX.Element;
declare namespace DialogFooter {
    var displayName: string;
}
/**
 *  Title component for the dialog header
 *
 * Based on [Dialog.Title](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogTitle({ className, ref, children }: DialogTitleProps): React.JSX.Element;
declare namespace DialogTitle {
    var displayName: string;
}
/**
 * Description text component for the dialog
 *
 * Based on [Dialog.Description](https:/ui.shadcn.com/docs/components/dialog)
 */
declare function DialogDescription({ className, ref }: DialogDescriptionProps): React.JSX.Element;
declare namespace DialogDescription {
    var displayName: string;
}
export { Dialog, DialogPortal, DialogOverlay, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };
