import { Amount } from "./amount";
import { AmountAdjustment } from "./amountAdjustment";
import { BalanceMutation } from "./balanceMutation";
import { ExternalReason } from "./externalReason";
import { Modification } from "./modification";
import { TransferEventEventsDataInner } from "./transferEventEventsDataInner";
import { TransferEventTracingData } from "./transferEventTracingData";
import { TransferEventTrackingData } from "./transferEventTrackingData";
export declare class TransferEvent {
    "amount"?: Amount | null;
    /**
    * The amount adjustments in this transfer. Only applicable for [issuing](https://docs.adyen.com/issuing/) integrations.
    */
    "amountAdjustments"?: Array<AmountAdjustment>;
    /**
    * Scheme unique arn identifier useful for tracing captures, chargebacks, refunds, etc.
    */
    "arn"?: string;
    /**
    * The date when the transfer request was sent.
    */
    "bookingDate"?: Date;
    /**
    * The estimated time when the beneficiary should have access to the funds.
    */
    "estimatedArrivalTime"?: Date;
    /**
    * A list of event data.
    */
    "eventsData"?: Array<TransferEventEventsDataInner>;
    "externalReason"?: ExternalReason | null;
    /**
    * The unique identifier of the transfer event.
    */
    "id"?: string;
    "modification"?: Modification | null;
    /**
    * The list of balance mutations per event.
    */
    "mutations"?: Array<BalanceMutation>;
    "originalAmount"?: Amount | null;
    /**
    * The reason for the transfer status.
    */
    "reason"?: TransferEvent.ReasonEnum;
    /**
    * The status of the transfer event.
    */
    "status"?: TransferEvent.StatusEnum;
    "tracingData"?: TransferEventTracingData | null;
    "trackingData"?: TransferEventTrackingData | null;
    /**
    * The id of the transaction that is related to this accounting event. Only sent for events of type **accounting** where the balance changes.
    */
    "transactionId"?: string;
    /**
    * The type of the transfer event. Possible values: **accounting**, **tracking**.
    */
    "type"?: TransferEvent.TypeEnum;
    /**
    * The date when the tracking status was updated.
    */
    "updateDate"?: Date;
    /**
    * The date when the funds are expected to be deducted from or credited to the balance account. This date can be in either the past or future.
    */
    "valueDate"?: Date;
    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 TransferEvent {
    enum ReasonEnum {
        AccountHierarchyNotActive = "accountHierarchyNotActive",
        AmountLimitExceeded = "amountLimitExceeded",
        ApprovalExpired = "approvalExpired",
        Approved = "approved",
        AvsDeclined = "avsDeclined",
        BalanceAccountTemporarilyBlockedByTransactionRule = "balanceAccountTemporarilyBlockedByTransactionRule",
        BlockCard = "blockCard",
        CallReferral = "callReferral",
        Cancelled = "cancelled",
        CaptureCard = "captureCard",
        CardExpired = "cardExpired",
        CardholderAuthenticationRequired = "cardholderAuthenticationRequired",
        CashbackAmountExceedsLimit = "cashbackAmountExceedsLimit",
        CavvDeclined = "cavvDeclined",
        ContactlessFallback = "contactlessFallback",
        ContactlessLimitReached = "contactlessLimitReached",
        CounterpartyAccountBlocked = "counterpartyAccountBlocked",
        CounterpartyAccountClosed = "counterpartyAccountClosed",
        CounterpartyAccountNotFound = "counterpartyAccountNotFound",
        CounterpartyAddressRequired = "counterpartyAddressRequired",
        CounterpartyBankTimedOut = "counterpartyBankTimedOut",
        CounterpartyBankUnavailable = "counterpartyBankUnavailable",
        CryptographicFailure = "cryptographicFailure",
        CvcDeclined = "cvcDeclined",
        Declined = "declined",
        DeclinedByBapValidation = "declinedByBapValidation",
        DeclinedByTransactionRule = "declinedByTransactionRule",
        DeclinedNonGeneric = "declinedNonGeneric",
        DirectDebitNotSupported = "directDebitNotSupported",
        DoNotHonor = "doNotHonor",
        DomesticDebitTransactionNotAllowed = "domesticDebitTransactionNotAllowed",
        DuplicateTransmissionDetected = "duplicateTransmissionDetected",
        Error = "error",
        FormatError = "formatError",
        Fraud = "fraud",
        FraudCancelled = "fraudCancelled",
        HonorWithId = "honorWithId",
        InternalTimeout = "internalTimeout",
        InvalidAccount = "invalidAccount",
        InvalidAmount = "invalidAmount",
        InvalidAuthorizationLifeCycle = "invalidAuthorizationLifeCycle",
        InvalidCard = "invalidCard",
        InvalidExpiryDate = "invalidExpiryDate",
        InvalidFromAccount = "invalidFromAccount",
        InvalidIssuer = "invalidIssuer",
        InvalidMerchant = "invalidMerchant",
        InvalidPin = "invalidPin",
        InvalidToAccount = "invalidToAccount",
        InvalidTransaction = "invalidTransaction",
        IssuerSuspectedFraud = "issuerSuspectedFraud",
        LostCard = "lostCard",
        MobilePinRequired = "mobilePinRequired",
        NoCheckingAccount = "noCheckingAccount",
        NoSavingsAccount = "noSavingsAccount",
        Not3dAuthenticated = "not3dAuthenticated",
        NotEnoughBalance = "notEnoughBalance",
        NotSubmitted = "notSubmitted",
        NotSupported = "notSupported",
        PartiallyApproved = "partiallyApproved",
        Pending = "pending",
        PendingApproval = "pendingApproval",
        PendingExecution = "pendingExecution",
        PinNotChanged = "pinNotChanged",
        PinRequired = "pinRequired",
        PinTriesExceeded = "pinTriesExceeded",
        PinValidationNotPossible = "pinValidationNotPossible",
        PurchaseAmountOnlyNoCashBack = "purchaseAmountOnlyNoCashBack",
        RefusedByCounterpartyBank = "refusedByCounterpartyBank",
        RefusedByCustomer = "refusedByCustomer",
        RestrictedCard = "restrictedCard",
        RevocationOfAuth = "revocationOfAuth",
        RouteNotFound = "routeNotFound",
        ScaAuthenticationRequired = "scaAuthenticationRequired",
        ScaFailed = "scaFailed",
        SchemeAdvice = "schemeAdvice",
        SecurityViolation = "securityViolation",
        ShopperCancelled = "shopperCancelled",
        StolenCard = "stolenCard",
        ThreedsDynamicLinkingMismatch = "threedsDynamicLinkingMismatch",
        TransactionNotPermitted = "transactionNotPermitted",
        TransferInstrumentDoesNotExist = "transferInstrumentDoesNotExist",
        UnableToRouteTransaction = "unableToRouteTransaction",
        Unknown = "unknown",
        WithdrawalAmountExceeded = "withdrawalAmountExceeded",
        WithdrawalCountExceeded = "withdrawalCountExceeded"
    }
    enum StatusEnum {
        ApprovalPending = "approvalPending",
        AtmWithdrawal = "atmWithdrawal",
        AtmWithdrawalReversalPending = "atmWithdrawalReversalPending",
        AtmWithdrawalReversed = "atmWithdrawalReversed",
        AuthAdjustmentAuthorised = "authAdjustmentAuthorised",
        AuthAdjustmentError = "authAdjustmentError",
        AuthAdjustmentRefused = "authAdjustmentRefused",
        Authorised = "authorised",
        BankTransfer = "bankTransfer",
        BankTransferPending = "bankTransferPending",
        Booked = "booked",
        BookingPending = "bookingPending",
        Cancelled = "cancelled",
        CapturePending = "capturePending",
        CaptureReversalPending = "captureReversalPending",
        CaptureReversed = "captureReversed",
        Captured = "captured",
        CapturedExternally = "capturedExternally",
        Chargeback = "chargeback",
        ChargebackExternally = "chargebackExternally",
        ChargebackPending = "chargebackPending",
        ChargebackReversalPending = "chargebackReversalPending",
        ChargebackReversed = "chargebackReversed",
        Credited = "credited",
        DepositCorrection = "depositCorrection",
        DepositCorrectionPending = "depositCorrectionPending",
        Dispute = "dispute",
        DisputeClosed = "disputeClosed",
        DisputeExpired = "disputeExpired",
        DisputeNeedsReview = "disputeNeedsReview",
        Error = "error",
        Expired = "expired",
        Failed = "failed",
        Fee = "fee",
        FeePending = "feePending",
        InterchangeAdjusted = "interchangeAdjusted",
        InternalTransfer = "internalTransfer",
        InternalTransferPending = "internalTransferPending",
        InvoiceDeduction = "invoiceDeduction",
        InvoiceDeductionPending = "invoiceDeductionPending",
        ManualCorrectionPending = "manualCorrectionPending",
        ManuallyCorrected = "manuallyCorrected",
        MatchedStatement = "matchedStatement",
        MatchedStatementPending = "matchedStatementPending",
        MerchantPayin = "merchantPayin",
        MerchantPayinPending = "merchantPayinPending",
        MerchantPayinReversed = "merchantPayinReversed",
        MerchantPayinReversedPending = "merchantPayinReversedPending",
        MiscCost = "miscCost",
        MiscCostPending = "miscCostPending",
        PaymentCost = "paymentCost",
        PaymentCostPending = "paymentCostPending",
        Pending = "pending",
        PendingApproval = "pendingApproval",
        PendingExecution = "pendingExecution",
        Received = "received",
        RefundPending = "refundPending",
        RefundReversalPending = "refundReversalPending",
        RefundReversed = "refundReversed",
        Refunded = "refunded",
        RefundedExternally = "refundedExternally",
        Refused = "refused",
        Rejected = "rejected",
        ReserveAdjustment = "reserveAdjustment",
        ReserveAdjustmentPending = "reserveAdjustmentPending",
        Returned = "returned",
        Reversed = "reversed",
        SecondChargeback = "secondChargeback",
        SecondChargebackPending = "secondChargebackPending",
        Undefined = "undefined"
    }
    enum TypeEnum {
        Accounting = "accounting",
        Tracing = "tracing",
        Tracking = "tracking"
    }
}
