/**
 * PayPal Server SDKLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { array, lazy, object, optional, string } from '../schema';
import { amountWithBreakdownSchema, } from './amountWithBreakdown';
import { itemSchema } from './item';
import { payeeBaseSchema } from './payeeBase';
import { paymentInstructionSchema, } from './paymentInstruction';
import { shippingDetailsSchema } from './shippingDetails';
import { supplementaryDataSchema, } from './supplementaryData';
export const purchaseUnitRequestSchema = object({
    referenceId: ['reference_id', optional(string())],
    amount: ['amount', lazy(() => amountWithBreakdownSchema)],
    payee: ['payee', optional(lazy(() => payeeBaseSchema))],
    paymentInstruction: [
        'payment_instruction',
        optional(lazy(() => paymentInstructionSchema)),
    ],
    description: ['description', optional(string())],
    customId: ['custom_id', optional(string())],
    invoiceId: ['invoice_id', optional(string())],
    softDescriptor: ['soft_descriptor', optional(string())],
    items: ['items', optional(array(lazy(() => itemSchema)))],
    shipping: ['shipping', optional(lazy(() => shippingDetailsSchema))],
    supplementaryData: [
        'supplementary_data',
        optional(lazy(() => supplementaryDataSchema)),
    ],
});
//# sourceMappingURL=purchaseUnitRequest.js.map