import { VnpLocale } from './enums.cjs';

declare const WRONG_CHECKSUM_KEY = "WRONG_CHECKSUM_KEY";
declare const RESPONSE_MAP: Map<string, Record<VnpLocale, string>>;
declare const QUERY_DR_RESPONSE_MAP: Map<string, Record<VnpLocale, string>>;
declare const REFUND_RESPONSE_MAP: Map<string, Record<VnpLocale, string>>;
declare const TRANSACTION_STATUS_RESPONSE_MAP: Map<string, Record<VnpLocale, string>>;

declare const VNPAY_GATEWAY_SANDBOX_HOST = "https://sandbox.vnpayment.vn";
declare const PAYMENT_ENDPOINT = "paymentv2/vpcpay.html";
declare const QUERY_DR_REFUND_ENDPOINT = "merchant_webapi/api/transaction";
declare const GET_BANK_LIST_ENDPOINT = "qrpayauth/api/merchant/get_bank_list";

/**
 * The response must to be sent to VNPAY after receiving the IPN request
 */
type IpnResponse = {
    RspCode: string;
    Message: string;
};
declare const IpnSuccess: IpnResponse;
declare const IpnOrderNotFound: IpnResponse;
declare const InpOrderAlreadyConfirmed: IpnResponse;
declare const IpnIpProhibited: IpnResponse;
declare const IpnInvalidAmount: IpnResponse;
declare const IpnFailChecksum: IpnResponse;
declare const IpnUnknownError: IpnResponse;

declare const numberRegex: RegExp;

declare const VNP_VERSION = "2.1.0";
declare const VNP_DEFAULT_COMMAND = "pay";
declare const CURR_CODE_VND = "VND";

export { CURR_CODE_VND, GET_BANK_LIST_ENDPOINT, InpOrderAlreadyConfirmed, IpnFailChecksum, IpnInvalidAmount, IpnIpProhibited, IpnOrderNotFound, type IpnResponse, IpnSuccess, IpnUnknownError, PAYMENT_ENDPOINT, QUERY_DR_REFUND_ENDPOINT, QUERY_DR_RESPONSE_MAP, REFUND_RESPONSE_MAP, RESPONSE_MAP, TRANSACTION_STATUS_RESPONSE_MAP, VNPAY_GATEWAY_SANDBOX_HOST, VNP_DEFAULT_COMMAND, VNP_VERSION, WRONG_CHECKSUM_KEY, numberRegex };
