/**
 * 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';

/** SearchCard */
export interface SearchCard {
  /**
   * Unique Card Id
   * Optional if PAN is given, else mandatory.
   */
  cardId?: number | null;
  /**
   * Card PAN.
   * Optional if CardId is given, else mandatory.
   * Note: PAN is ignored if CardId is given.
   */
  pAN?: string | null;
  /**
   * Card PANID
   *  optional id cardid given, else mandatory
   * Note: PANID is ignored if CardId is given.
   */
  pANID?: number;
}

export const searchCardSchema: Schema<SearchCard> = object({
  cardId: ['CardId', optional(nullable(number()))],
  pAN: ['PAN', optional(nullable(string()))],
  pANID: ['PANID', optional(number())],
});
