import React from 'react';
import { DialogContentProps, DialogProps } from '../../../../components/dialog/types';
import { EventStateObject } from '../../types';
export type ConfirmationState = 'idle' | 'readyToBeSubmitted' | 'submitInProgress' | 'submissionComplete';
export type ConfirmParams = {
    data: unknown;
    confirmationState: ConfirmationState;
    submitState: EventStateObject | undefined;
    connectWithDialog: Pick<DialogProps & DialogContentProps, 'openState' | 'onConfirm' | 'onDecline' | 'onClose'>;
    setConfirmationState: (state: ConfirmationState) => void;
    submitHandler: () => void | Promise<void>;
    cancelHandler: () => void | Promise<void>;
};
export type ConfirmProps = {
    preventSubmitWhen?: (params: ConfirmParams) => boolean;
    onStateChange?: (params: ConfirmParams) => void | Promise<void>;
    onSubmitResult?: (params: ConfirmParams) => void;
    renderWithState?: (params: ConfirmParams) => React.ReactNode;
    children?: React.ReactNode;
};
declare function SubmitConfirmation(props: ConfirmProps): import("react/jsx-runtime").JSX.Element;
declare namespace SubmitConfirmation {
    var _supportsSpacingProps: string;
}
export default SubmitConfirmation;
