import React from 'react';
import { StatusClassName, ActionButtonGroupList } from '../components/PaymentResultToast';
import { type PaymentResultKind } from '../payment-result-flow';
export interface PaymentResultToastConfig {
    context: any;
    pisellos: any;
    getData: (key: string) => any;
    interaction: any;
    Toast: any;
    onToastClose?: () => void;
}
export interface PaymentResultToastParams {
    paymentStatus: string;
    resultKind?: PaymentResultKind;
    orderTotalAmount: number;
    gapAmount: number;
    depositAmount?: number;
    changeGivenAmount?: number;
    failureReason?: string;
    autoCloseConfig?: {
        autoClose: boolean;
        autoCloseDelay: number;
        maskClosable?: boolean;
    };
    actionButtons?: ActionButtonGroupList;
}
export declare const formatCurrency: (amount: number, amountSymbol?: string) => string | number;
export declare const calculateTitle: (status: string, failureReason?: string, resultKind?: PaymentResultKind) => string;
export declare const calculateSubtitle: (status: string, amount: number, gapAmount?: number, getData?: ((key: string) => any) | undefined, changeGivenAmount?: number, resultKind?: PaymentResultKind, depositAmount?: number) => React.ReactNode;
export declare const calculateStatusClassName: (status: string, resultKind?: PaymentResultKind) => StatusClassName;
export declare const calculateAutoCloseConfig: (status: string, _hasChangeDue: boolean, resultKind?: PaymentResultKind) => {
    autoClose: boolean;
    autoCloseDelay: number;
    maskClosable: boolean;
};
export declare const displayPaymentResultToast: (params: PaymentResultToastParams, config: PaymentResultToastConfig) => Promise<void>;
export declare const createShowSuccessToast: (config: PaymentResultToastConfig, getActionButtons?: ((paymentStatus: string, enabledAutoPrint?: boolean, submittedOrderId?: string | number) => ActionButtonGroupList) | undefined) => (result: any) => Promise<void>;
