/**
 * 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 { authorizationStatusSchema, } from './authorizationStatus';
import { authorizationStatusDetailsSchema, } from './authorizationStatusDetails';
import { linkDescriptionSchema } from './linkDescription';
import { moneySchema } from './money';
import { networkTransactionReferenceSchema, } from './networkTransactionReference';
import { processorResponseSchema, } from './processorResponse';
import { sellerProtectionSchema } from './sellerProtection';
export const authorizationWithAdditionalDataSchema = object({
    status: ['status', optional(authorizationStatusSchema)],
    statusDetails: [
        'status_details',
        optional(lazy(() => authorizationStatusDetailsSchema)),
    ],
    id: ['id', optional(string())],
    amount: ['amount', optional(lazy(() => moneySchema))],
    invoiceId: ['invoice_id', optional(string())],
    customId: ['custom_id', optional(string())],
    networkTransactionReference: [
        'network_transaction_reference',
        optional(lazy(() => networkTransactionReferenceSchema)),
    ],
    sellerProtection: [
        'seller_protection',
        optional(lazy(() => sellerProtectionSchema)),
    ],
    expirationTime: ['expiration_time', optional(string())],
    links: ['links', optional(array(lazy(() => linkDescriptionSchema)))],
    createTime: ['create_time', optional(string())],
    updateTime: ['update_time', optional(string())],
    processorResponse: [
        'processor_response',
        optional(lazy(() => processorResponseSchema)),
    ],
});
//# sourceMappingURL=authorizationWithAdditionalData.js.map