import { WechatPayTransactionInitial } from "../interfaces/wechat-pay/wechat-pay-transaction-initial.interface";
import { WechatPayTransactionRefund } from "../interfaces/wechat-pay/wechat-pay-transaction-refund.interface";
import { SecurepayConstruction } from "../interfaces/common/construction.interface";
export declare class WechatPay {
    /** Services */
    private _wechatPayTransaction;
    constructor(options: SecurepayConstruction);
    /**
     * Initiates an WechatPay transaction
     * https://auspost.com.au/payments/docs/securepay/#securepay-api-wechat-pay-payments-rest-api-initiate-wechat-pay-transaction
     *
     * @param {WechatPayTransactionInitial} payload
     */
    initialTransaction(payload: WechatPayTransactionInitial): Promise<import("../interfaces/wechat-pay/wechat-pay-initial-response.interface").WechatPayInitialResponse>;
    /**
     * Used to refund a previous successful WechatPay payment
     * https://auspost.com.au/payments/docs/securepay/#securepay-api-wechat-pay-payments-rest-api-refund-wechat-pay-payment
     *
     * @param {string} orderId
     * @param {WechatPayTransactionRefund} payload
     */
    refundTransaction(orderId: string, payload: WechatPayTransactionRefund): Promise<any>;
    /**
     * Retrieve WechatPay order details
     * https://auspost.com.au/payments/docs/securepay/#securepay-api-wechat-pay-payments-rest-api-retrieve-wechat-pay-order-details
     *
     * @param {string} orderId
     * @param {string} merchantCode
     */
    retrieveTransaction(orderId: string, merchantCode: string): Promise<import("../interfaces/wechat-pay/wechat-pay-object.interface").WechatPayObject>;
}
