import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { AuthenticationResultRequest } from "../../typings/payment/models";
import { AuthenticationResultResponse } from "../../typings/payment/models";
import { PaymentRequest } from "../../typings/payment/models";
import { PaymentRequest3d } from "../../typings/payment/models";
import { PaymentRequest3ds2 } from "../../typings/payment/models";
import { PaymentResult } from "../../typings/payment/models";
import { ThreeDS2ResultRequest } from "../../typings/payment/models";
import { ThreeDS2ResultResponse } from "../../typings/payment/models";
/**
 * API handler for PaymentsApi
 */
export declare class PaymentsApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Create an authorisation
    * @param paymentRequest {@link PaymentRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentResult }
    */
    authorise(paymentRequest: PaymentRequest, requestOptions?: IRequest.Options): Promise<PaymentResult>;
    /**
    * @summary Complete a 3DS authorisation
    * @param paymentRequest3d {@link PaymentRequest3d }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentResult }
    */
    authorise3d(paymentRequest3d: PaymentRequest3d, requestOptions?: IRequest.Options): Promise<PaymentResult>;
    /**
    * @summary Complete a 3DS2 authorisation
    * @param paymentRequest3ds2 {@link PaymentRequest3ds2 }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link PaymentResult }
    */
    authorise3ds2(paymentRequest3ds2: PaymentRequest3ds2, requestOptions?: IRequest.Options): Promise<PaymentResult>;
    /**
    * @summary Get the 3DS authentication result
    * @param authenticationResultRequest {@link AuthenticationResultRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link AuthenticationResultResponse }
    */
    getAuthenticationResult(authenticationResultRequest: AuthenticationResultRequest, requestOptions?: IRequest.Options): Promise<AuthenticationResultResponse>;
    /**
    * @summary Get the 3DS2 authentication result
    * @param threeDS2ResultRequest {@link ThreeDS2ResultRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ThreeDS2ResultResponse }
    */
    retrieve3ds2Result(threeDS2ResultRequest: ThreeDS2ResultRequest, requestOptions?: IRequest.Options): Promise<ThreeDS2ResultResponse>;
}
