"use strict";
/**
 * PayPal Server SDKLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
exports.__esModule = true;
exports.cardPaymentTokenEntitySchema = void 0;
var schema_1 = require("../schema");
var binDetails_1 = require("./binDetails");
var cardAuthenticationResponse_1 = require("./cardAuthenticationResponse");
var cardBrand_1 = require("./cardBrand");
var cardResponseAddress_1 = require("./cardResponseAddress");
var cardType_1 = require("./cardType");
var cardVerificationDetails_1 = require("./cardVerificationDetails");
var cardVerificationStatus_1 = require("./cardVerificationStatus");
var networkTransactionReferenceEntity_1 = require("./networkTransactionReferenceEntity");
exports.cardPaymentTokenEntitySchema = (0, schema_1.object)({
    name: ['name', (0, schema_1.optional)((0, schema_1.string)())],
    lastDigits: ['last_digits', (0, schema_1.optional)((0, schema_1.string)())],
    brand: ['brand', (0, schema_1.optional)(cardBrand_1.cardBrandSchema)],
    expiry: ['expiry', (0, schema_1.optional)((0, schema_1.string)())],
    billingAddress: [
        'billing_address',
        (0, schema_1.optional)((0, schema_1.lazy)(function () { return cardResponseAddress_1.cardResponseAddressSchema; })),
    ],
    verificationStatus: [
        'verification_status',
        (0, schema_1.optional)(cardVerificationStatus_1.cardVerificationStatusSchema),
    ],
    verification: [
        'verification',
        (0, schema_1.optional)((0, schema_1.lazy)(function () { return cardVerificationDetails_1.cardVerificationDetailsSchema; })),
    ],
    networkTransactionReference: [
        'network_transaction_reference',
        (0, schema_1.optional)((0, schema_1.lazy)(function () { return networkTransactionReferenceEntity_1.networkTransactionReferenceEntitySchema; })),
    ],
    authenticationResult: [
        'authentication_result',
        (0, schema_1.optional)((0, schema_1.lazy)(function () { return cardAuthenticationResponse_1.cardAuthenticationResponseSchema; })),
    ],
    binDetails: ['bin_details', (0, schema_1.optional)((0, schema_1.lazy)(function () { return binDetails_1.binDetailsSchema; }))],
    type: ['type', (0, schema_1.optional)(cardType_1.cardTypeSchema)]
});
//# sourceMappingURL=cardPaymentTokenEntity.js.map