import { type ReactNode } from "react";
import { type VariantDanger, type VariantPrimary } from "../@types/variant.js";
/**
 * Visual variant of the confirm button.
 *
 * @internal
 */
export type ConfirmDialogVariant = VariantPrimary | VariantDanger;
/**
 * @internal
 */
export interface IUiConfirmDialogCardProps {
    /** Dialog title rendered inside the header. */
    title: string;
    /** Body content — typically a sentence or two of description. */
    description: ReactNode;
    /** Label for the confirm button — e.g. "Confirm", "Remove", "Transfer". */
    confirmLabel: string;
    /** Visual variant of the confirm button. */
    confirmVariant?: ConfirmDialogVariant;
    /** Fires when the user clicks the header X close button. */
    onClose: () => void;
    /** Fires when the user clicks the footer Cancel button. */
    onCancel: () => void;
    /** Fires when the user clicks the footer confirm button. */
    onConfirm: () => void;
    /** Test id forwarded to the root of the card composition. */
    dataTestId?: string;
}
/**
 * Confirm dialog composition — header, description body, footer with Cancel
 * and Confirm buttons. Designed to be rendered inside `UiModalDialog`, which
 * provides the modal chrome (portal, backdrop, card surface, focus trap,
 * dismiss). `UiConfirmDialog` wraps this composition in `UiModalDialog`
 * with the right width and exposes the combined surface to callers.
 *
 * @internal
 */
export declare function UiConfirmDialogCard({ title, description, confirmLabel, confirmVariant, onClose, onCancel, onConfirm, dataTestId }: IUiConfirmDialogCardProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=UiConfirmDialogCard.d.ts.map