/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { CancelRefundReversalStatus } from "./cancel-refund-reversal-status";
import { FiatMoneyUsd } from "./fiat-money-usd";
import { FiatPayment } from "./fiat-payment";
import { MetadataPhoneEmail } from "./metadata-phone-email";
import { PaymentErrorCode } from "./payment-error-code";
import { RiskEvaluation } from "./risk-evaluation";
import { SourceResponse } from "./source-response";
/**
 *
 * @export
 * @interface DetailedCancel
 */
export interface DetailedCancel {
    /**
     * Unique system generated identifier for the entity.
     * @type {string}
     * @memberof DetailedCancel
     */
    id: string;
    /**
     * Type of the payment object.
     * @type {string}
     * @memberof DetailedCancel
     */
    type: DetailedCancelTypeEnum;
    /**
     * Unique system generated identifier for the merchant.
     * @type {string}
     * @memberof DetailedCancel
     */
    merchantId: string;
    /**
     * Unique system generated identifier for the wallet of the merchant.
     * @type {string}
     * @memberof DetailedCancel
     */
    merchantWalletId?: string;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof DetailedCancel
     */
    amount: FiatMoneyUsd;
    /**
     *
     * @type {SourceResponse}
     * @memberof DetailedCancel
     */
    source: SourceResponse;
    /**
     * Enumerated description of the payment.
     * @type {string}
     * @memberof DetailedCancel
     */
    description?: DetailedCancelDescriptionEnum;
    /**
     *
     * @type {CancelRefundReversalStatus}
     * @memberof DetailedCancel
     */
    status: CancelRefundReversalStatus;
    /**
     *
     * @type {FiatPayment}
     * @memberof DetailedCancel
     */
    originalPayment?: FiatPayment;
    /**
     *
     * @type {FiatMoneyUsd}
     * @memberof DetailedCancel
     */
    fees?: FiatMoneyUsd;
    /**
     * Payment tracking reference. Will be present once known.
     * @type {string}
     * @memberof DetailedCancel
     */
    trackingRef?: string | null;
    /**
     *
     * @type {PaymentErrorCode}
     * @memberof DetailedCancel
     */
    errorCode?: PaymentErrorCode | null;
    /**
     *
     * @type {MetadataPhoneEmail}
     * @memberof DetailedCancel
     */
    metadata?: MetadataPhoneEmail;
    /**
     *
     * @type {RiskEvaluation}
     * @memberof DetailedCancel
     */
    riskEvaluation?: RiskEvaluation | null;
    /**
     * If the cancel was made after a cutoff time period, it will be processed as a refund. This flag indicates that the cancel was processed as a refund\'
     * @type {boolean}
     * @memberof DetailedCancel
     */
    refund?: boolean;
    /**
     * ISO-8601 UTC date/time format.
     * @type {string}
     * @memberof DetailedCancel
     */
    createDate?: string;
    /**
     * ISO-8601 UTC date/time format.
     * @type {string}
     * @memberof DetailedCancel
     */
    updateDate?: string;
}
export declare const DetailedCancelTypeEnum: {
    readonly Cancel: "cancel";
};
export declare type DetailedCancelTypeEnum = typeof DetailedCancelTypeEnum[keyof typeof DetailedCancelTypeEnum];
export declare const DetailedCancelDescriptionEnum: {
    readonly Payment: "Payment";
};
export declare type DetailedCancelDescriptionEnum = typeof DetailedCancelDescriptionEnum[keyof typeof DetailedCancelDescriptionEnum];
