import { IAuthorizeRequest, IAuthorizeResponse } from '../types/authorize.type';
import { ICancelOrderReferenceRequest } from '../types/cancel.order.reference.type';
import { ICaptureRequest, ICaptureResponse } from '../types/capture.type';
import { ICloseAuthorizationRequest } from '../types/close.authorization.type';
import { ICloseOrderReferenceRequest } from '../types/close.order.reference.type';
import { IConfirmOrderReferenceRequest } from '../types/confirm.order.reference.type';
import { IGetAuthorizationDetailsRequest, IGetAuthorizationDetailsResponse } from '../types/get.authorization.details.type';
import { IGetCaptureDetailsRequest, IGetCaptureDetailsResponse } from '../types/get.capture.details.type';
import { IGetMerchantAccountStatusRequest, IGetMerchantAccountStatusResponse } from '../types/get.merchant.account.status.type';
import { IGetOrderReferenceDetailsRequest, IGetOrderReferenceDetailsResponse } from '../types/get.order.reference.details.type';
import { IGetRefundDetailsRequest, IGetRefundDetailsResponse } from '../types/get.refund.details.type';
import { IGetServiceStatusResponse } from '../types/get.service.status.type';
import { IRefundRequest, IRefundResponse } from '../types/refund.type';
import { ISetOrderAttributesRequest, ISetOrderAttributesResponse } from '../types/set.order.attributes.type';
import { ISetOrderReferenceDetailsRequest, ISetOrderReferenceDetailsResponse } from '../types/set.order.reference.details.type';
import { IAuthorizeOnBillingAgreementRequest, IAuthorizeOnBillingAgreementResponse } from '../types/authorize.on.billing.agreement.type';
import { ICloseBillingAgreementRequest } from '../types/close.billing.agreement.type';
import { IConfirmBillingAgreementRequest } from '../types/confirm.billing.agreement.type';
import { ICreateOrderReferenceForIdRequest } from '../types/create.order.reference.for.id.type';
import { IGetBillingAgreementDetailsRequest, IGetBillingAgreementDetailsResponse } from '../types/get.billing.agreement.details.type';
import { ISetBillingAgreementDetailsRequest, ISetBillingAgreementDetailsResponse } from '../types/set.billing.agreement.details.type';
import { IValidateBillingAgreementRequest, IValidateBillingAgreementResponse } from '../types/validate.billing.agreement.type';
import { IConfiguration } from '../classes/config';
export declare class OffAmazonPayments {
    private version;
    private requestHandler;
    constructor(config: IConfiguration, version?: string);
    authorize(params: IAuthorizeRequest): Promise<IAuthorizeResponse>;
    cancelOrderReference(params: ICancelOrderReferenceRequest): Promise<any>;
    capture(params: ICaptureRequest): Promise<ICaptureResponse>;
    closeAuthorization(params: ICloseAuthorizationRequest): Promise<any>;
    closeOrderReference(params: ICloseOrderReferenceRequest): Promise<any>;
    confirmOrderReference(params: IConfirmOrderReferenceRequest): Promise<any>;
    getAuthorizationDetails(params: IGetAuthorizationDetailsRequest): Promise<IGetAuthorizationDetailsResponse>;
    getCaptureDetails(params: IGetCaptureDetailsRequest): Promise<IGetCaptureDetailsResponse>;
    getMerchantAccountStatus(params: IGetMerchantAccountStatusRequest): Promise<IGetMerchantAccountStatusResponse>;
    getOrderReferenceDetails(params: IGetOrderReferenceDetailsRequest): Promise<IGetOrderReferenceDetailsResponse>;
    getRefundDetails(params: IGetRefundDetailsRequest): Promise<IGetRefundDetailsResponse>;
    getServiceStatus(): Promise<IGetServiceStatusResponse>;
    refund(params: IRefundRequest): Promise<IRefundResponse>;
    setOrderAttributes(params: ISetOrderAttributesRequest): Promise<ISetOrderAttributesResponse>;
    setOrderReferenceDetails(params: ISetOrderReferenceDetailsRequest): Promise<ISetOrderReferenceDetailsResponse>;
    authorizeOnBillingAgreement(params: IAuthorizeOnBillingAgreementRequest): Promise<IAuthorizeOnBillingAgreementResponse>;
    closeBillingAgreement(params: ICloseBillingAgreementRequest): Promise<any>;
    confirmBillingAgreement(params: IConfirmBillingAgreementRequest): Promise<any>;
    createOrderReferenceForId(params: ICreateOrderReferenceForIdRequest): Promise<any>;
    getBillingAgreementDetails(params: IGetBillingAgreementDetailsRequest): Promise<IGetBillingAgreementDetailsResponse>;
    setBillingAgreementDetails(params: ISetBillingAgreementDetailsRequest): Promise<ISetBillingAgreementDetailsResponse>;
    validateBillingAgreement(params: IValidateBillingAgreementRequest): Promise<IValidateBillingAgreementResponse>;
}
