import { type ReactNode, type RefObject } from "react"; import { DialogContent } from "src/primitives/Dialog"; export type AlertStyle = "danger" | "warning"; export type AlertSize = "small" | "medium" | "large"; type InitialFocusElement = "submit" | "cancel"; /** Radix Dialog.Content props we forward via ...otherProps. */ type DialogContentProps = React.ComponentProps; export interface AlertProps extends Omit { /** Size of the alert dialog. */ size?: AlertSize; /** Whether the alert is open. */ isOpen?: boolean; /** Whether the submit action is in progress. */ isSubmitting?: boolean; /** Additional CSS class names applied to the dialog content. */ className?: string; /** Close on pressing the Esc key. */ closeOnEsc?: boolean; /** Show the close button. */ closeButton?: boolean; /** Additional CSS class names applied to the backdrop/overlay. */ backdropClassName?: string; /** Close on clicking outside the dialog. */ closeOnOutsideClick?: boolean; /** Callback invoked when the alert is closed. */ onClose?: () => void; /** Callback invoked when the submit button is clicked. */ onSubmit?: () => void; /** Title text of the alert. */ title?: string; /** Message content of the alert. */ message?: ReactNode; /** Label for the submit button. */ submitButtonLabel?: string; /** Label for the cancel button. */ cancelButtonLabel?: string; /** Hide the cancel button. */ hideCancelButton?: boolean; /** Visual style of the submit button. */ style?: AlertStyle; /** Ref of the element to receive focus when the alert opens. */ initialFocusRef?: RefObject; /** Which built-in button receives focus on open: "submit" or "cancel". */ initialFocusElement?: InitialFocusElement; /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */ modal?: boolean; /** Radix Dialog `defaultOpen` prop. */ defaultOpen?: boolean; } declare const Alert: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; export { Alert };