/**
 * PayPal Server SDKLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { boolean, lazy, object, optional, string } from '../schema';
import { paypalPaymentTokenCustomerTypeSchema, } from './paypalPaymentTokenCustomerType';
import { paypalPaymentTokenUsageTypeSchema, } from './paypalPaymentTokenUsageType';
import { usagePatternSchema } from './usagePattern';
import { vaultedDigitalWalletShippingDetailsSchema, } from './vaultedDigitalWalletShippingDetails';
import { vaultVenmoExperienceContextSchema, } from './vaultVenmoExperienceContext';
export const vaultVenmoRequestSchema = object({
    description: ['description', optional(string())],
    usagePattern: ['usage_pattern', optional(usagePatternSchema)],
    shipping: [
        'shipping',
        optional(lazy(() => vaultedDigitalWalletShippingDetailsSchema)),
    ],
    permitMultiplePaymentTokens: [
        'permit_multiple_payment_tokens',
        optional(boolean()),
    ],
    usageType: ['usage_type', optional(paypalPaymentTokenUsageTypeSchema)],
    customerType: [
        'customer_type',
        optional(paypalPaymentTokenCustomerTypeSchema),
    ],
    experienceContext: [
        'experience_context',
        optional(lazy(() => vaultVenmoExperienceContextSchema)),
    ],
});
//# sourceMappingURL=vaultVenmoRequest.js.map