import type { ConfirmState } from "./types.js";
export interface ConfirmDialogProps {
    /** Pending confirmation state from {@link useConfirmAction}. */
    readonly state: ConfirmState | null;
    /** Accept the pending confirmation. */
    readonly onConfirm: () => void;
    /** Dismiss the pending confirmation. */
    readonly onCancel: () => void;
}
/**
 * Accessible confirmation dialog for destructive actions.
 *
 * Uses the native `<dialog>` element with `showModal()` for built-in
 * focus trapping, Escape key handling, and backdrop. Styled via
 * `--stgm-*` design tokens.
 *
 * Pairs with {@link useConfirmAction} which manages the imperative
 * `confirm()` → Promise pattern.
 *
 * @example
 * ```tsx
 * const { confirmState, confirm, handleConfirm, handleCancel } = useConfirmAction();
 *
 * // Trigger
 * const handleDelete = async () => {
 *   const ok = await confirm({
 *     title: "Delete agent?",
 *     description: "This cannot be undone.",
 *     confirmLabel: "Delete",
 *     variant: "destructive",
 *   });
 *   if (ok) await deleteAgent();
 * };
 *
 * // Render
 * <ConfirmDialog
 *   state={confirmState}
 *   onConfirm={handleConfirm}
 *   onCancel={handleCancel}
 * />
 * ```
 */
export declare function ConfirmDialog({ state, onConfirm, onCancel, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=ConfirmDialog.d.ts.map