import { Drawer, DrawerContentProps, ModalContainerProps } from '@heroui/react'; import { ComponentProps, ReactNode } from 'react'; export type AthenaDialogSize = NonNullable; export type AthenaDialogTone = "default" | "danger" | "warning" | "success"; export type AthenaDialogSurface = "modal" | "drawer" | "alert"; export interface AthenaDialogProps { /** @deprecated Use `AthenaDialog.Body className` instead. */ bodyClassName?: string; children: ReactNode; className?: string; /** @deprecated Use `AthenaDialog.Description` instead. */ description?: ReactNode; /** @deprecated HeroUI implementation detail retained for ResponsiveOverlay. */ drawerBackdropVariant?: ComponentProps["variant"]; /** @deprecated HeroUI implementation detail retained for ResponsiveOverlay. */ drawerContentProps?: Omit, "children" | "placement">; /** @deprecated HeroUI implementation detail retained for ResponsiveOverlay. */ drawerDialogProps?: Omit, "children">; /** @deprecated HeroUI implementation detail retained for ResponsiveOverlay. */ drawerPlacement?: DrawerContentProps["placement"]; /** @deprecated Use `AthenaDialog.Footer` instead. */ footer?: ReactNode; /** @deprecated Use `AthenaDialog.Footer className` instead. */ footerClassName?: string; /** @deprecated Use `AthenaDialog.Heading` instead. */ heading?: ReactNode; /** @deprecated Use `AthenaDialog.Icon` instead. */ icon?: ReactNode; isDismissable?: boolean; isOpen: boolean; /** @deprecated HeroUI implementation detail retained for ResponsiveOverlay. */ modalPlacement?: ModalContainerProps["placement"]; onOpenChange: (isOpen: boolean) => void; /** Desktop modal / mobile drawer below `md`. Default true. */ responsive?: boolean; /** * Close (X) on desktop Modal and AlertDialog. Mobile Drawer uses the handle / * dismiss gesture instead — never shows a close trigger. */ showCloseButton?: boolean; size?: AthenaDialogSize; /** Select a fixed shell; `"alert"` preserves default-tone AlertDialogs. */ surface?: AthenaDialogSurface; /** @deprecated Use `AthenaDialog.Heading` instead. */ title?: ReactNode; /** AlertDialog status shell when not `"default"`. */ tone?: AthenaDialogTone; } export interface AthenaDialogSlotProps { children?: ReactNode; className?: string; } export type AthenaDialogActionsProps = AthenaDialogSlotProps; declare function AthenaDialogHeader({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogIcon({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogHeading({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogDescription({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogBody({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogFooter({ children, className }: AthenaDialogSlotProps): import("react").JSX.Element; declare function AthenaDialogActions({ children, className }: AthenaDialogActionsProps): import("react").JSX.Element; /** * Dense Athena dialog over HeroUI Modal / Drawer / AlertDialog. * * The ordinary API is compound composition. Legacy shell props remain only for * ResponsiveOverlay compatibility and should not be used by new call sites. */ declare function AthenaDialogRoot({ bodyClassName, children, className, description, drawerBackdropVariant, drawerContentProps, drawerDialogProps, drawerPlacement, footer, footerClassName, heading, icon, isDismissable, isOpen, modalPlacement, onOpenChange, responsive, showCloseButton, size, surface: surfaceOverride, title, tone }: AthenaDialogProps): import("react").JSX.Element | null; export declare const AthenaDialog: typeof AthenaDialogRoot & { Actions: typeof AthenaDialogActions; Body: typeof AthenaDialogBody; Description: typeof AthenaDialogDescription; Footer: typeof AthenaDialogFooter; Header: typeof AthenaDialogHeader; Heading: typeof AthenaDialogHeading; Icon: typeof AthenaDialogIcon; }; export {};