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

import { lazy, number, object, optional, Schema, string } from '../schema.js';
import { CardBundle, cardBundleSchema } from './cardBundle.js';

export interface SummaryofbundleResponse {
  /**
   * Payer Id of the bundles and cards.
   * Example: 123456
   */
  payerId?: number;
  /**
   * Payer Number of the bundles and cards.
   * Example: GB000000123
   */
  payerNumber?: string;
  accountId?: number;
  /**
   * Account Number of the bundle.
   * Example: GB000000123
   */
  accountNumber?: string;
  /** Count of cards that are not part of the bundle in a given account. */
  countOfCardsNotInBundle?: number;
  cardBundles?: CardBundle;
}

export const summaryofbundleResponseSchema: Schema<SummaryofbundleResponse> = lazy(
  () =>
    object({
      payerId: ['PayerId', optional(number())],
      payerNumber: ['PayerNumber', optional(string())],
      accountId: ['AccountId', optional(number())],
      accountNumber: ['AccountNumber', optional(string())],
      countOfCardsNotInBundle: ['CountOfCardsNotInBundle', optional(number())],
      cardBundles: ['CardBundles', optional(cardBundleSchema)],
    })
);
