/**
 * Shell Card Management APIsLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { lazy, object, optional, Schema } from '../schema.js';
import { ErrorStatus, errorStatusSchema } from './errorStatus.js';

export interface UpdateBundleResponse {
  requestActionStatus?: ErrorStatus;
  dayTimeRestrictionStatus?: ErrorStatus;
  locationRestrictionStatus?: ErrorStatus;
  productRestrictionStatus?: ErrorStatus;
  usageRestrictionStatus?: ErrorStatus;
}

export const updateBundleResponseSchema: Schema<UpdateBundleResponse> = lazy(
  () =>
    object({
      requestActionStatus: ['RequestActionStatus', optional(errorStatusSchema)],
      dayTimeRestrictionStatus: [
        'DayTimeRestrictionStatus',
        optional(errorStatusSchema),
      ],
      locationRestrictionStatus: [
        'LocationRestrictionStatus',
        optional(errorStatusSchema),
      ],
      productRestrictionStatus: [
        'ProductRestrictionStatus',
        optional(errorStatusSchema),
      ],
      usageRestrictionStatus: [
        'UsageRestrictionStatus',
        optional(errorStatusSchema),
      ],
    })
);
