import { CardPaymentCreate } from "../interfaces/card-payment/card-payment-create.interface";
import { CardPaymentInstrumentRequest } from "../interfaces/card-payment/card-payment-instrument-request.interface";
import { SecurepayConstruction } from "../interfaces/common/construction.interface";
export declare class CardPayment {
    /** Variables */
    private clientId;
    private clientSecret;
    private sandbox;
    private debugLevel;
    /** Services */
    private _cardPayments;
    private _cardPaymentInstruments;
    constructor(options: SecurepayConstruction);
    /**
    /**
     * Create card payment, documentation:
     * https://auspost.com.au/payments/docs/securepay/?javascript#securepay-api-card-payments-rest-api-create-payment
     *
     * @param payload CardPaymentCreate
     */
    createPayment(payload: CardPaymentCreate): Promise<import("..").CardPaymentObject>;
    /**
     * Create card payment instrument, documentation:
     * https://auspost.com.au/payments/docs/securepay/?javascript#securepay-api-card-payments-rest-api-create-payment-instrument
     *
     * @param payload CardPaymentInstrumentRequest
     */
    createPaymentInstrument(payload: CardPaymentInstrumentRequest): void;
    /**
     * Retrieves stored payment instruments from the vault for an identified customer
     * https://auspost.com.au/payments/docs/securepay/?javascript#securepay-api-card-payments-rest-api-payment-instruments
     *
     * @param payload CardPaymentInstrumentRequest
     */
    getPaymentInstruction(payload: CardPaymentInstrumentRequest): void;
    /**
     * Deletes a previously stored payment instrument from the vault.
     * https://auspost.com.au/payments/docs/securepay/?javascript#securepay-api-card-payments-rest-api-delete-payment-instrument
     *
     * @param payload CardPaymentCreate
     */
    deletePaymentInstruction(payload: CardPaymentInstrumentRequest): void;
}
