import * as react_jsx_runtime from 'react/jsx-runtime';
import { PropsWithChildren } from 'react';
import { SolidButtonColor } from '../Button.js';
import { PropsForTranslation } from '../../hooks/useTranslation.js';
import { ModalProps } from './Modal.js';
import '../../hooks/useLanguage.js';

type ConfirmDialogTranslation = {
    confirm: string;
    cancel: string;
    decline: string;
};
type ConfirmDialogType = 'positive' | 'negative' | 'neutral';
type ButtonOverwriteType = {
    text?: string;
    color?: SolidButtonColor;
    disabled?: boolean;
};
type ConfirmDialogProps = ModalProps & {
    isShowingDecline?: boolean;
    requireAnswer?: boolean;
    onCancel?: () => void;
    onConfirm: () => void;
    onDecline?: () => void;
    confirmType?: ConfirmDialogType;
    /**
     * Order: Cancel, Decline, Confirm
     */
    buttonOverwrites?: [ButtonOverwriteType, ButtonOverwriteType, ButtonOverwriteType];
};
/**
 * A Dialog for asking the user for Confirmation
 *
 * To require an answer omit the onBackgroundClick
 */
declare const ConfirmDialog: ({ overwriteTranslation, children, onCancel, onConfirm, onDecline, confirmType, buttonOverwrites, ...restProps }: PropsForTranslation<ConfirmDialogTranslation, PropsWithChildren<ConfirmDialogProps>>) => react_jsx_runtime.JSX.Element;

export { type ButtonOverwriteType, ConfirmDialog, type ConfirmDialogProps, type ConfirmDialogType };
