import * as Dialog from '@radix-ui/react-dialog'; import React from 'react'; type ModalSize = 'sm' | 'md' | 'lg' | 'xl'; type ModalVariant = 'default' | 'alert' | 'danger'; type ButtonVariant = 'primary' | 'secondary' | 'static' | 'warning' | 'accent'; type ButtonShape = 'pill-solid' | 'pill-outline' | 'rectangle-solid' | 'rectangle-outline' | 'ghost'; export type ModalProps = { open: boolean; onOpenChange: (open: boolean) => void; size?: ModalSize; variant?: ModalVariant; descriptionId?: string; className?: string; children: React.ReactNode; showFooter?: boolean; confirmText?: string; cancelText?: string; onConfirm?: () => void; onCancel?: () => void; closeOnConfirm?: boolean; confirmDisabled?: boolean; cancelDisabled?: boolean; confirmButtonVariantOverride?: ButtonVariant; cancelButtonVariantOverride?: ButtonVariant; confirmButtonShapeOverride?: ButtonShape; cancelButtonShapeOverride?: ButtonShape; }; export declare function Modal({ open, onOpenChange, size, variant, descriptionId, className, children, showFooter, confirmText, cancelText, onConfirm, onCancel, closeOnConfirm, confirmDisabled, cancelDisabled, confirmButtonVariantOverride, cancelButtonVariantOverride, confirmButtonShapeOverride, cancelButtonShapeOverride, }: ModalProps): import("react/jsx-runtime").JSX.Element; export declare namespace Modal { var Header: ({ title, className, children, variant }: HeaderProps) => import("react/jsx-runtime").JSX.Element; var Description: ({ id, className, children }: DescriptionProps) => import("react/jsx-runtime").JSX.Element; var Body: ({ className, children, darkMode }: BodyProps) => import("react/jsx-runtime").JSX.Element; var Trigger: React.ForwardRefExoticComponent>; var Close: React.ForwardRefExoticComponent>; } type HeaderProps = { title?: React.ReactNode; className?: string; children?: React.ReactNode; darkMode?: boolean; variant?: ModalVariant; }; type DescriptionProps = { id?: string; className?: string; children: React.ReactNode; darkMode?: boolean; }; type BodyProps = { className?: string; children: React.ReactNode; darkMode?: boolean; }; export {};