import { ClassValue, HTMLComponentProps, StyledComponentProps, ThemeColor } from "../../types/shared.js";
import { DialogSlots } from "./alert-dialog-variants.js";
import { AlertDialogContentProps, AlertDialogDescriptionProps, AlertDialogOverlayProps, AlertDialogPortalProps, AlertDialogProps, AlertDialogTitleProps } from "@radix-ui/react-alert-dialog";
//#region src/components/alert-dialog/types.d.ts
/**
* Class names for different slots in the alert dialog component.
* Allows customizing styles for specific parts of the alert dialog, including the icon slot.
*/
type AlertDialogClassNames = Partial> & {
/**
* Class names for the icon element within the alert dialog.
*/
icon?: string;
};
/**
* Alert type enumeration that restricts theme colors to alert-specific types.
* Supports destructive, info, success, and warning alert types.
*/
type AlertType = Extract;
/**
* Props for the alert dialog content component.
* Contains the main content area of the alert dialog.
*/
interface AlertDialogContentProps$1 extends StyledComponentProps {}
/**
* Props for the alert dialog description component.
* Provides descriptive text or additional information in the alert dialog.
*/
interface AlertDialogDescriptionProps$1 extends StyledComponentProps {}
/**
* Props for the alert dialog footer component.
* Container for action buttons or additional footer content.
*/
type AlertDialogFooterProps = HTMLComponentProps<'div'>;
/**
* Props for the alert dialog header component.
* Container for title, icon, and other header content.
*/
type AlertDialogHeaderProps = HTMLComponentProps<'div'>;
/**
* Props for the alert dialog overlay component.
* Semi-transparent backdrop that appears behind the alert dialog.
*/
interface AlertDialogOverlayProps$1 extends StyledComponentProps {}
/**
* Props for the alert dialog title component.
* Displays the primary heading text of the alert dialog.
*/
interface AlertDialogTitleProps$1 extends StyledComponentProps {}
/**
* Props for the main AlertDialog component.
* Combines base Radix UI alert dialog props with custom styling and content options.
*
* @example
* ```jsx
* }
* >
*
*
* ```
*/
type AlertDialogProps$1 = StyledComponentProps & AlertDialogContentProps$1 & AlertDialogPortalProps & {
/**
* Class names for customizing different parts of the alert dialog.
*/
classNames?: AlertDialogClassNames;
/**
* Description text displayed in the alert dialog body.
*/
description?: string;
/**
* Whether to disable portal rendering for the alert dialog.
*/
disabledPortal?: boolean;
/**
* Content to display in the footer section (typically action buttons).
*/
footer?: React.ReactNode;
/**
* Force mount the overlay element even when not visible.
*/
forceMountOverlay?: true;
/**
* Force mount the portal element for the alert dialog.
*/
forceMountPortal?: true;
/**
* Icon or visual element displayed at the top of the alert dialog.
*/
icon?: React.ReactNode;
/**
* Title or heading text displayed at the top of the alert dialog.
*/
title?: React.ReactNode;
/**
* Element that triggers the alert dialog to open when clicked.
*/
trigger?: React.ReactNode;
/**
* The alert type which determines styling (destructive, info, success, or warning).
*/
type?: AlertType;
};
//#endregion
export { AlertDialogClassNames, AlertDialogContentProps$1 as AlertDialogContentProps, AlertDialogDescriptionProps$1 as AlertDialogDescriptionProps, AlertDialogFooterProps, AlertDialogHeaderProps, AlertDialogOverlayProps$1 as AlertDialogOverlayProps, AlertDialogProps$1 as AlertDialogProps, AlertDialogTitleProps$1 as AlertDialogTitleProps, AlertType };