import type { AlertDialogContextType, IAlertDialogProps, IAlertDialogTriggerProps, IAlertDialogPortalProps, IAlertDialogBackdropProps, IAlertDialogPopupProps, IAlertDialogCloseProps, IAlertDialogHeaderProps, IAlertDialogFooterProps, IAlertDialogTitleProps, IAlertDialogDescriptionProps } from './AlertDialog.types';
declare const useAlertDialog: () => AlertDialogContextType;
/**
* Root AlertDialog component. Manages open state and provides context
* to all child sub-components.
*
* Supports both controlled (`open` + `onOpenChange`) and uncontrolled
* (`defaultOpen`) usage patterns.
*
* @param props - {@link IAlertDialogProps}
* @returns The rendered alert dialog root
*
* @example
* ```tsx
* // Uncontrolled
*
* Open
* ...
*
*
* // Controlled
* const [open, setOpen] = useState(false);
*
* ...
*
* ```
*/
declare function AlertDialog({ slots: _slots, config: _config, ...props }: IAlertDialogProps): import("react/jsx-runtime").JSX.Element;
/**
* Button that opens the AlertDialog when clicked.
* Renders as a button element by default.
*
* @param props - {@link IAlertDialogTriggerProps}
* @returns The rendered trigger button
*
* @example
* ```tsx
*
* Delete Account
*
* ```
*/
declare function AlertDialogTrigger({ slots: _slots, ...props }: IAlertDialogTriggerProps): import("react/jsx-runtime").JSX.Element;
/**
* Portal wrapper that renders alert dialog content outside the DOM hierarchy.
* Manages AnimatePresence for enter/exit animations of the backdrop and popup.
*
* The portal is automatically kept mounted for exit animations and only
* renders its children when the dialog is open.
*
* @param props - {@link IAlertDialogPortalProps}
* @returns The rendered portal with AnimatePresence
*
* @example
* ```tsx
*
*
* ...
*
* ```
*/
declare function AlertDialogPortal(props: IAlertDialogPortalProps): import("react/jsx-runtime").JSX.Element;
/**
* Semi-transparent overlay behind the alert dialog.
* Animates in with a fade and optional blur effect.
*
* @param props - {@link IAlertDialogBackdropProps}
* @returns The rendered animated backdrop
*
* @example
* ```tsx
* // Default backdrop
*
*
* // Custom backdrop with blur
*
* ```
*/
declare function AlertDialogBackdrop({ transition, slots, className, ...props }: IAlertDialogBackdropProps): import("react/jsx-runtime").JSX.Element;
/**
* Main dialog container with a 3D perspective flip animation.
*
* The `from` prop controls which direction the dialog flips from:
* - `top` / `bottom` rotate around the X axis
* - `left` / `right` rotate around the Y axis
*
* Uses spring physics for a natural, bouncy entrance.
*
* @param props - {@link IAlertDialogPopupProps}
* @returns The rendered animated popup
*
* @example
* ```tsx
* // Flip from top (default)
* ...
*
* // Flip from bottom with custom spring
*
* ...
*
* ```
*/
declare function AlertDialogPopup({ from, initialFocus, finalFocus, transition, slots, className, ...props }: IAlertDialogPopupProps): import("react/jsx-runtime").JSX.Element;
/**
* Button that closes the AlertDialog when clicked.
* Typically used in the footer alongside a confirm action.
*
* @param props - {@link IAlertDialogCloseProps}
* @returns The rendered close button
*
* @example
* ```tsx
*
* Cancel
*
* ```
*/
declare function AlertDialogClose({ slots, className, ...props }: IAlertDialogCloseProps): import("react/jsx-runtime").JSX.Element;
/**
* Layout wrapper for the dialog title and description.
* Provides consistent spacing and text alignment.
*
* @param props - {@link IAlertDialogHeaderProps}
* @returns The rendered header container
*
* @example
* ```tsx
*
* Confirm Action
* This cannot be undone.
*
* ```
*/
declare function AlertDialogHeader({ slots, className, ...props }: IAlertDialogHeaderProps): import("react/jsx-runtime").JSX.Element;
/**
* Layout wrapper for dialog action buttons.
* Uses responsive flex layout: column on mobile, row on desktop.
*
* @param props - {@link IAlertDialogFooterProps}
* @returns The rendered footer container
*
* @example
* ```tsx
*
* Cancel
*
*
* ```
*/
declare function AlertDialogFooter({ slots, className, ...props }: IAlertDialogFooterProps): import("react/jsx-runtime").JSX.Element;
/**
* Title element for the AlertDialog.
* Automatically associated with the dialog for accessibility via Base UI.
*
* @param props - {@link IAlertDialogTitleProps}
* @returns The rendered title element
*
* @example
* ```tsx
*
* Delete Workspace
*
* ```
*/
declare function AlertDialogTitle({ slots, className, ...props }: IAlertDialogTitleProps): import("react/jsx-runtime").JSX.Element;
/**
* Description element for the AlertDialog.
* Provides additional context about the action being confirmed.
* Automatically associated with the dialog for accessibility via Base UI.
*
* @param props - {@link IAlertDialogDescriptionProps}
* @returns The rendered description element
*
* @example
* ```tsx
*
* This will permanently delete the workspace and all associated data.
* This action cannot be undone.
*
* ```
*/
declare function AlertDialogDescription({ slots, className, ...props }: IAlertDialogDescriptionProps): import("react/jsx-runtime").JSX.Element;
export { AlertDialog, AlertDialogPortal, AlertDialogBackdrop, AlertDialogClose, AlertDialogTrigger, AlertDialogPopup, AlertDialogHeader, AlertDialogFooter, AlertDialogTitle, AlertDialogDescription, useAlertDialog, };
export type { IAlertDialogProps, IAlertDialogTriggerProps, IAlertDialogPortalProps, IAlertDialogCloseProps, IAlertDialogBackdropProps, IAlertDialogPopupProps, IAlertDialogHeaderProps, IAlertDialogFooterProps, IAlertDialogTitleProps, IAlertDialogDescriptionProps, IAlertDialogConfig, AlertDialogSlot, AlertDialogContextType, AlertDialogFlipDirection, } from './AlertDialog.types';
export { AlertDialogStyles } from './AlertDialog.styles';
//# sourceMappingURL=index.d.ts.map