"use strict";
/**
 * PayPal Server SDKLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
exports.__esModule = true;
exports.paypalPaymentTokenSchema = void 0;
var schema_1 = require("../schema");
var address_1 = require("./address");
var name_1 = require("./name");
var paypalPaymentTokenCustomerType_1 = require("./paypalPaymentTokenCustomerType");
var paypalPaymentTokenUsageType_1 = require("./paypalPaymentTokenUsageType");
var phone_1 = require("./phone");
var phoneWithType_1 = require("./phoneWithType");
var usagePattern_1 = require("./usagePattern");
var vaultedDigitalWalletShippingDetails_1 = require("./vaultedDigitalWalletShippingDetails");
exports.paypalPaymentTokenSchema = (0, schema_1.object)({
    description: ['description', (0, schema_1.optional)((0, schema_1.string)())],
    usagePattern: ['usage_pattern', (0, schema_1.optional)(usagePattern_1.usagePatternSchema)],
    shipping: [
        'shipping',
        (0, schema_1.optional)((0, schema_1.lazy)(function () { return vaultedDigitalWalletShippingDetails_1.vaultedDigitalWalletShippingDetailsSchema; })),
    ],
    permitMultiplePaymentTokens: [
        'permit_multiple_payment_tokens',
        (0, schema_1.optional)((0, schema_1.boolean)()),
    ],
    usageType: ['usage_type', (0, schema_1.optional)(paypalPaymentTokenUsageType_1.paypalPaymentTokenUsageTypeSchema)],
    customerType: [
        'customer_type',
        (0, schema_1.optional)(paypalPaymentTokenCustomerType_1.paypalPaymentTokenCustomerTypeSchema),
    ],
    emailAddress: ['email_address', (0, schema_1.optional)((0, schema_1.string)())],
    payerId: ['payer_id', (0, schema_1.optional)((0, schema_1.string)())],
    name: ['name', (0, schema_1.optional)((0, schema_1.lazy)(function () { return name_1.nameSchema; }))],
    phone: ['phone', (0, schema_1.optional)((0, schema_1.lazy)(function () { return phoneWithType_1.phoneWithTypeSchema; }))],
    address: ['address', (0, schema_1.optional)((0, schema_1.lazy)(function () { return address_1.addressSchema; }))],
    accountId: ['account_id', (0, schema_1.optional)((0, schema_1.string)())],
    phoneNumber: ['phone_number', (0, schema_1.optional)((0, schema_1.lazy)(function () { return phone_1.phoneSchema; }))]
});
//# sourceMappingURL=paypalPaymentToken.js.map