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

import { array, lazy, object, optional, Schema, string } from '../schema.js';
import { ErrorObject, errorObjectSchema } from './errorObject.js';
import {
  RestrictioncardsRes,
  restrictioncardsResSchema,
} from './restrictioncardsRes.js';

export interface CardRestrictionRes {
  /** Unique identifier for the request. This will be played back in the response from the request. */
  requestId?: string;
  /** Status of the request */
  status?: string;
  data?: RestrictioncardsRes[];
  errors?: ErrorObject;
}

export const cardRestrictionResSchema: Schema<CardRestrictionRes> = lazy(() =>
  object({
    requestId: ['RequestId', optional(string())],
    status: ['Status', optional(string())],
    data: ['Data', optional(array(restrictioncardsResSchema))],
    errors: ['Errors', optional(errorObjectSchema)],
  })
);
