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

import {
  nullable,
  number,
  object,
  optional,
  Schema,
  string,
} from '../schema.js';

export interface Datum {
  /** Card Id. */
  cardId?: number | null;
  /** PAN of the card. */
  cardPAN?: string | null;
  /** Account id */
  accountId?: number | null;
  /** Account number */
  accountNumber?: string;
  /** Individual delivery address update reference number for the delivery address update request. */
  referenceId?: number;
}

export const datumSchema: Schema<Datum> = object({
  cardId: ['CardId', optional(nullable(number()))],
  cardPAN: ['CardPAN', optional(nullable(string()))],
  accountId: ['AccountId', optional(nullable(number()))],
  accountNumber: ['AccountNumber', optional(string())],
  referenceId: ['ReferenceId', optional(number())],
});
