import * as react from 'react'; import { HTMLAttributes, ReactNode } from 'react'; import * as DialogPrimitive from '@radix-ui/react-dialog'; declare const Dialog: react.FC; declare const DialogTrigger: react.ForwardRefExoticComponent>; declare const DialogPortal: react.FC; declare const DialogClose: react.ForwardRefExoticComponent>; type DialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full'; declare const DialogOverlay: react.ForwardRefExoticComponent, "ref"> & react.RefAttributes>; interface DialogContentProps extends react.ComponentPropsWithoutRef { size?: DialogSize; showClose?: boolean; } declare const DialogContent: react.ForwardRefExoticComponent>; declare const DialogHeader: { ({ className, ...props }: HTMLAttributes): react.JSX.Element; displayName: string; }; declare const DialogBody: { ({ className, ...props }: HTMLAttributes): react.JSX.Element; displayName: string; }; declare const DialogFooter: { ({ className, ...props }: HTMLAttributes): react.JSX.Element; displayName: string; }; declare const DialogTitle: react.ForwardRefExoticComponent, "ref"> & react.RefAttributes>; declare const DialogDescription: react.ForwardRefExoticComponent, "ref"> & react.RefAttributes>; interface DialogPanelProps { open: boolean; onClose?: () => void; title?: ReactNode; description?: ReactNode; children?: ReactNode; footer?: ReactNode; size?: DialogSize; showClose?: boolean; } /** Controlled dialog with title, body, and footer slots — same ergonomics as `Drawer`. */ declare function DialogPanel({ open, onClose, title, description, children, footer, size, showClose, }: DialogPanelProps): react.JSX.Element; export { Dialog, DialogBody, DialogClose, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPanel, type DialogPanelProps, DialogPortal, type DialogSize, DialogTitle, DialogTrigger };