import { SecurepayConstruction } from "../../../../interfaces/common/construction.interface";
import { WechatPayInitialResponse } from "../../../../interfaces/wechat-pay/wechat-pay-initial-response.interface";
import { WechatPayTransactionInitial } from "../../../../interfaces/wechat-pay/wechat-pay-transaction-initial.interface";
import { WechatPayTransactionRefund } from "../../../../interfaces/wechat-pay/wechat-pay-transaction-refund.interface";
import { WechatPayObject } from "../../../../interfaces/wechat-pay/wechat-pay-object.interface";
export declare class WechatPayTransactionService {
    /** Services */
    private _http;
    /** Variables */
    private sandbox;
    private debugLevel;
    private clientId;
    private clientSecret;
    private merchantCode;
    constructor(options: SecurepayConstruction);
    /**
     * Initiates a Wechat transaction.
     *
     * @param {WechatPayTransactionInitial} payload
     */
    initialTransaction(payload: WechatPayTransactionInitial): Promise<WechatPayInitialResponse>;
    /**
     * Refunds a previously executed Wechat transaction
     *
     * @param {string} orderId
     * @param {WechatPayTransactionRefund} payload
     */
    refundTransaction(orderId: string, payload: WechatPayTransactionRefund): Promise<any>;
    /**
     * Retrieves billing & shipping details for a customer that has previously initiated a Wechat transaction
     *
     * @param {string} orderId
     * @param {string} merchantCode
     */
    retrieveTransaction(orderId: string, merchantCode?: string): Promise<WechatPayObject>;
}
