import React from 'react';
import { TippyProps } from '../../../module';
import { ButtonProps } from '../Button.models';
export type ConfirmationItem = {
    /** The type of confirmation. This will set the color and the icon of the confirmation. */
    type: 'green' | 'red' | 'blue';
    /** The text that will appear in the header. */
    header: string;
    /** The text that will appear in the body. */
    body: React.ReactNode;
    /** The text that will appear for the Confirmation button. By default, it will say `Confirm`. */
    confirmButtonText?: string;
    /** The text that will appear for the Cancel button. By default, it will say `Cancel`. */
    cancelButtonText?: string;
    /** The callout function for the Confirmation button. */
    confirmCallout: () => void;
    /** The callout function for the Cancel button. */
    cancelCallout?: () => void | undefined;
};
export type ButtonConfirmationTippyProps = Omit<TippyProps, 'visible' | 'children' | 'interactive' | 'content' | 'appendTo' | 'onClickOutside'>;
export type ConfirmationButtonProps = {
    /** This prop will handle displaying the confirmation */
    confirmation: ConfirmationItem;
    /** Props received from Button. */
    buttonProps: Pick<ButtonProps, 'disabled' | 'children' | 'className' | 'tooltip' | 'as'>;
    /** Optional remaining Tippy props object. */
    tippyProps?: ButtonConfirmationTippyProps;
    /** Optional tooltip */
    tooltip?: ButtonProps['tooltip'];
};
declare const ConfirmationButton: ({ buttonProps, tippyProps, confirmation, tooltip, }: ConfirmationButtonProps) => JSX.Element;
export default ConfirmationButton;
