import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { AdjustAuthorisationRequest } from "../../typings/payment/models";
import { CancelOrRefundRequest } from "../../typings/payment/models";
import { CancelRequest } from "../../typings/payment/models";
import { CaptureRequest } from "../../typings/payment/models";
import { DonationRequest } from "../../typings/payment/models";
import { ModificationResult } from "../../typings/payment/models";
import { RefundRequest } from "../../typings/payment/models";
import { TechnicalCancelRequest } from "../../typings/payment/models";
import { VoidPendingRefundRequest } from "../../typings/payment/models";
/**
 * API handler for ModificationsApi
 */
export declare class ModificationsApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Change the authorised amount
    * @param adjustAuthorisationRequest {@link AdjustAuthorisationRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    adjustAuthorisation(adjustAuthorisationRequest: AdjustAuthorisationRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Cancel an authorisation
    * @param cancelRequest {@link CancelRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    cancel(cancelRequest: CancelRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Cancel or refund a payment
    * @param cancelOrRefundRequest {@link CancelOrRefundRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    cancelOrRefund(cancelOrRefundRequest: CancelOrRefundRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Capture an authorisation
    * @param captureRequest {@link CaptureRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    capture(captureRequest: CaptureRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Create a donation
    * @param donationRequest {@link DonationRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    *
    * @deprecated
    */
    donate(donationRequest: DonationRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Refund a captured payment
    * @param refundRequest {@link RefundRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    refund(refundRequest: RefundRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Cancel an authorisation using your reference
    * @param technicalCancelRequest {@link TechnicalCancelRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    technicalCancel(technicalCancelRequest: TechnicalCancelRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
    /**
    * @summary Cancel an in-person refund
    * @param voidPendingRefundRequest {@link VoidPendingRefundRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ModificationResult }
    */
    voidPendingRefund(voidPendingRefundRequest: VoidPendingRefundRequest, requestOptions?: IRequest.Options): Promise<ModificationResult>;
}
