/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { FiatMoney } from "./fiat-money";
import { FiatMoneyUsd } from "./fiat-money-usd";
import { PaymentInfoCancel } from "./payment-info-cancel";
import { PaymentInfoPaymentAndRefund } from "./payment-info-payment-and-refund";
import { PaymentStatus } from "./payment-status";
import { RequiredAction } from "./required-action";
import { SourceResponse } from "./source-response";
/**
 * Status information of the related payment. This property is only present on refund or cancel items.
 * @export
 * @interface FiatPayment
 */
export interface FiatPayment {
    /**
     * Unique system generated identifier for the entity.
     * @type {string}
     * @memberof FiatPayment
     */
    id: string;
    /**
     * Type of the payment object.
     * @type {string}
     * @memberof FiatPayment
     */
    type: FiatPaymentTypeEnum;
    /**
     * Unique system generated identifier for the merchant.
     * @type {string}
     * @memberof FiatPayment
     */
    merchantId: string;
    /**
     * Unique system generated identifier for the wallet of the merchant.
     * @type {string}
     * @memberof FiatPayment
     */
    merchantWalletId?: string;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof FiatPayment
     */
    amount: FiatMoneyUsd;
    /**
     *
     * @type {FiatMoney}
     * @memberof FiatPayment
     */
    fromAmount?: FiatMoney;
    /**
     *
     * @type {SourceResponse}
     * @memberof FiatPayment
     */
    source: SourceResponse;
    /**
     * Enumerated description of the payment.
     * @type {string}
     * @memberof FiatPayment
     */
    description?: FiatPaymentDescriptionEnum;
    /**
     *
     * @type {PaymentStatus}
     * @memberof FiatPayment
     */
    status: PaymentStatus;
    /**
     * Determines if a payment has successfully been captured. This property is only present for payments that did not use auto capture.
     * @type {boolean}
     * @memberof FiatPayment
     */
    captured?: boolean;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof FiatPayment
     */
    captureAmount?: FiatMoneyUsd;
    /**
     * ISO-8601 UTC date/time format.
     * @type {string}
     * @memberof FiatPayment
     */
    captureDate?: string;
    /**
     *
     * @type {RequiredAction}
     * @memberof FiatPayment
     */
    requiredAction?: RequiredAction;
    /**
     *
     * @type {PaymentInfoCancel}
     * @memberof FiatPayment
     */
    cancel?: PaymentInfoCancel | null;
    /**
     *
     * @type {Array<PaymentInfoPaymentAndRefund>}
     * @memberof FiatPayment
     */
    refunds?: Array<PaymentInfoPaymentAndRefund>;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof FiatPayment
     */
    fees?: FiatMoneyUsd;
    /**
     * The channel identifier that can be set for the payment. When not provided, the default channel is used.
     * @type {string}
     * @memberof FiatPayment
     */
    channel?: string;
    /**
     * ISO-8601 UTC date/time format.
     * @type {string}
     * @memberof FiatPayment
     */
    createDate?: string;
    /**
     * ISO-8601 UTC date/time format.
     * @type {string}
     * @memberof FiatPayment
     */
    updateDate?: string;
}
export declare const FiatPaymentTypeEnum: {
    readonly Payment: "payment";
};
export declare type FiatPaymentTypeEnum = typeof FiatPaymentTypeEnum[keyof typeof FiatPaymentTypeEnum];
export declare const FiatPaymentDescriptionEnum: {
    readonly Payment: "Payment";
};
export declare type FiatPaymentDescriptionEnum = typeof FiatPaymentDescriptionEnum[keyof typeof FiatPaymentDescriptionEnum];
