/**
* AlertDialog - a confirmation modal. Semantically a {@link Dialog} with
* `role="alertdialog"`, a REQUIRED title + description, and explicit
* Action / Cancel buttons. Unlike `Dialog` it does NOT dismiss on outside-click
* or `Escape`: the user must choose an option.
*
* It reuses the Dialog primitive's open-state context (`dialog.Root` /
* `dialog.Trigger` / `dialog.useDialog` resolved from the active adapter) so
* trigger + open state behave identically, but renders its own alert-specific
* overlay + panel - the panel carries `role="alertdialog"` and its
* `aria-labelledby` / `aria-describedby` are wired to the Title / Description
* ids, and neither the overlay nor a key listener dismisses it.
*
* @example
* ```tsx
* import {
* AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent,
* AlertDialogDescription, AlertDialogFooter, AlertDialogTitle, AlertDialogTrigger,
* } from "veryfront/ui";
*
*
* Delete account
*
* Delete account?
* This permanently removes your account.
*
* Cancel
* Delete
*
*
* ;
* ```
*
* @module react/components/ui/alert-dialog
*/
import * as React from "react";
import { type ButtonProps } from "./button.js";
/** Props accepted by ``. */
export interface AlertDialogProps {
/** The trigger and content parts to compose. */
children: React.ReactNode;
/** Controlled open state (pair with `onOpenChange`). @default undefined */
open?: boolean;
/** Initial open state when uncontrolled. @default false */
defaultOpen?: boolean;
/** Fires when the open state changes. @default undefined */
onOpenChange?: (open: boolean) => void;
}
/** AlertDialog root - owns open state (shares the Dialog adapter slot). */
export declare function AlertDialog(props: AlertDialogProps): React.ReactElement;
/** Props accepted by ``. */
export interface AlertDialogTriggerProps extends React.ButtonHTMLAttributes {
/** Merge trigger behaviour onto the child element instead of a `