import * as React from "react";
import * as PropTypes from "prop-types";
import { Props as ModalButtonProps } from "../ModalButton/ModalButton";
import "./ConfirmationButton.less";
export interface Props extends ModalButtonProps {
    confirmButtonClassName?: string;
    confirmButtonType?: "primary" | "secondary" | "destructive" | "link" | "linkPlain" | "plain";
    confirmButtonSize?: "small" | "regular" | "large";
    confirmButtonValue?: React.ReactNode;
    confirmButtonHref?: string;
    confirmButtonTarget?: "_self" | "_blank";
    confirmButtonDisabled?: boolean;
    confirmButtonOnClick?: React.MouseEventHandler<HTMLButtonElement>;
    confirmButtonSubmit?: boolean;
    confirmButtonStyle?: React.CSSProperties;
    className?: string;
    onConfirm?: () => void;
}
export declare class ConfirmationButton extends React.Component<Props> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        onConfirm: PropTypes.Requireable<(...args: any[]) => any>;
        children: PropTypes.Validator<PropTypes.ReactNodeLike>;
        onClose: PropTypes.Requireable<(...args: any[]) => any>;
        type: PropTypes.Requireable<import("../utils/types").Values<{
            readonly PRIMARY: "primary";
            readonly SECONDARY: "secondary";
            readonly DESTRUCTIVE: "destructive";
            readonly SECONDARY_DESTRUCTIVE: "secondaryDestructive";
            readonly LINK: "link";
            readonly LINK_PLAIN: "linkPlain";
            readonly PLAIN: "plain";
        }>>;
        size: PropTypes.Requireable<import("../utils/types").Values<{
            readonly S: "small";
            readonly M: "regular";
            readonly L: "large";
        }>>;
        value: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        href: PropTypes.Requireable<string>;
        target: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        submit: PropTypes.Requireable<boolean>;
        style: PropTypes.Requireable<object>;
        underlined: PropTypes.Requireable<boolean>;
        ariaLabel: PropTypes.Requireable<string>;
        dataTestID: PropTypes.Requireable<string>;
    };
    static defaultProps: {
        confirmButtonType: string;
        confirmButtonValue: string;
        type: "secondary";
        size: "regular";
        target: string;
    };
    constructor(props: Props);
    private modalButton;
    handleConfirm(): void;
    handleCancel(): void;
    render(): JSX.Element;
}
