import { CSSProperties, ReactNode } from 'react'; import { HtmlProps } from '../types/slots.types.js'; import { ActionButtonsProps } from '../actionButtons/index.js'; /** Text ConfirmModal renders of its own, for translating it. */ export interface ConfirmModalLabels { /** The confirming button (default `Confirm`). */ submit?: string; /** The dismissing button (default `Cancel`). */ cancel?: string; } export interface ConfirmModalProps extends Omit, 'onClose' | 'content' | 'title'> { children?: ReactNode; className?: string; style?: CSSProperties; onClose?: (didSubmit: boolean) => void; onConfirm?: () => void | Promise; title?: ReactNode; content?: ReactNode; isOpen?: boolean; isDelete?: boolean; actionButtonsProps?: ActionButtonsProps; /** Overrides the text ConfirmModal renders of its own. Merged per key. */ labels?: ConfirmModalLabels; }