import { Amount } from "./amount";
import { ResponsePaymentMethod } from "./responsePaymentMethod";
export declare class Payment {
    "amount"?: Amount | null;
    "paymentMethod"?: ResponsePaymentMethod | null;
    /**
    * Adyen\'s 16-character reference associated with the transaction/request. This value is globally unique. Use this reference when you communicate with us about this request.
    */
    "pspReference"?: string;
    /**
    * The result of the payment. For more information, see [Result codes](https://docs.adyen.com/online-payments/payment-result-codes).  Possible values:  * **Authorised** – The payment was successfully authorised. This state serves as an indicator to proceed with the delivery of goods and services. This is a final state. * **Received** – Indicates the payment request was successfully received by Adyen, and will be processed. This is the initial state for all payments. * **Pending** – The payment order was successfully received but the final status of the payment is not available yet. This is common for payment methods with an asynchronous flow.
    */
    "resultCode"?: Payment.ResultCodeEnum;
    static readonly discriminator: string | undefined;
    static readonly mapping: {
        [index: string]: string;
    } | undefined;
    static readonly attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
        format: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
        format: string;
    }[];
    constructor();
}
export declare namespace Payment {
    enum ResultCodeEnum {
        Authorised = "Authorised",
        Received = "Received",
        Pending = "Pending"
    }
}
