/**
 * CyberSource Merged Spec
 * All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
 *
 * OpenAPI spec version: 0.0.1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
import { Configuration } from '../configuration';
import { RequestArgs, BaseAPI } from '../base';
import { IdRefundsBody } from '../models';
import { IdRefundsBody1 } from '../models';
import { PtsV2CapturesRefundsPost201Response } from '../models';
import { PtsV2PaymentsRefundPost201Response } from '../models';
/**
 * RefundApi - axios parameter creator
 * @export
 */
export declare const RefundApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     * Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.
     * @summary Refund a Capture
     * @param {IdRefundsBody1} body
     * @param {string} id The capture ID. This ID is returned from a previous capture request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundCapture: (body: IdRefundsBody1, id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
    /**
     * Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.
     * @summary Refund a Payment
     * @param {IdRefundsBody} body
     * @param {string} id The payment ID. This ID is returned from a previous payment request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundPayment: (body: IdRefundsBody, id: string, options?: AxiosRequestConfig & Configuration) => Promise<RequestArgs>;
};
/**
 * RefundApi - functional programming interface
 * @export
 */
export declare const RefundApiFp: (configuration?: Configuration) => {
    /**
     * Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.
     * @summary Refund a Capture
     * @param {IdRefundsBody1} body
     * @param {string} id The capture ID. This ID is returned from a previous capture request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundCapture(body: IdRefundsBody1, id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<PtsV2CapturesRefundsPost201Response>>>;
    /**
     * Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.
     * @summary Refund a Payment
     * @param {IdRefundsBody} body
     * @param {string} id The payment ID. This ID is returned from a previous payment request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundPayment(body: IdRefundsBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<PtsV2PaymentsRefundPost201Response>>>;
};
/**
 * RefundApi - factory interface
 * @export
 */
export declare const RefundApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     * Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.
     * @summary Refund a Capture
     * @param {IdRefundsBody1} body
     * @param {string} id The capture ID. This ID is returned from a previous capture request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundCapture(body: IdRefundsBody1, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<PtsV2CapturesRefundsPost201Response>>;
    /**
     * Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.
     * @summary Refund a Payment
     * @param {IdRefundsBody} body
     * @param {string} id The payment ID. This ID is returned from a previous payment request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    refundPayment(body: IdRefundsBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<PtsV2PaymentsRefundPost201Response>>;
};
/**
 * RefundApi - object-oriented interface
 * @export
 * @class RefundApi
 * @extends {BaseAPI}
 */
export declare class RefundApi extends BaseAPI {
    /**
     * Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.
     * @summary Refund a Capture
     * @param {IdRefundsBody1} body
     * @param {string} id The capture ID. This ID is returned from a previous capture request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundApi
     */
    refundCapture(body: IdRefundsBody1, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<PtsV2CapturesRefundsPost201Response>>;
    /**
     * Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.
     * @summary Refund a Payment
     * @param {IdRefundsBody} body
     * @param {string} id The payment ID. This ID is returned from a previous payment request.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RefundApi
     */
    refundPayment(body: IdRefundsBody, id: string, options?: AxiosRequestConfig & Configuration): Promise<AxiosResponse<PtsV2PaymentsRefundPost201Response>>;
}
