import { default as React } from 'react'; import { PopoverProps } from '../../Popover/Popover'; 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' | 'black'; /** 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 ButtonConfirmationPopoverProps = Omit; export type ConfirmationButtonProps = { /** This prop will handle displaying the confirmation */ confirmation: ConfirmationItem; /** Props received from Button. */ buttonProps: Pick; /** Optionally pass in style */ style?: React.CSSProperties; /** Props for the Popover */ popoverProps?: ButtonConfirmationPopoverProps; /** Optional tooltip */ tooltip?: ButtonProps['tooltip']; /** Optional prop to add a test id to the ConfirmationButton for QA testing */ qaTestId?: string; }; declare const ConfirmationButton: ({ buttonProps, popoverProps, confirmation, tooltip, style, qaTestId, }: ConfirmationButtonProps) => React.JSX.Element; export default ConfirmationButton;