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

import { array, lazy, object, optional, Schema } from '../schema';
import { ErrorStatus, errorStatusSchema } from './errorStatus';
import {
  PurchaseCategory1AllOf0,
  purchaseCategory1AllOf0Schema,
} from './purchaseCategory1AllOf0';

export interface PurchaseCategoryResponse {
  purchaseCategories?: PurchaseCategory1AllOf0[];
  error?: ErrorStatus;
}

export const purchaseCategoryResponseSchema: Schema<PurchaseCategoryResponse> = object(
  {
    purchaseCategories: [
      'PurchaseCategories',
      optional(array(lazy(() => purchaseCategory1AllOf0Schema))),
    ],
    error: ['Error', optional(lazy(() => errorStatusSchema))],
  }
);
