/**
 * 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 { ProductGroup, productGroupSchema } from './productGroup';
import {
  RestrictionProduct,
  restrictionProductSchema,
} from './restrictionProduct';

export interface SearchProductRestriction {
  products?: RestrictionProduct[];
  productGroups?: ProductGroup[];
}

export const searchProductRestrictionSchema: Schema<SearchProductRestriction> = object(
  {
    products: [
      'Products',
      optional(array(lazy(() => restrictionProductSchema))),
    ],
    productGroups: [
      'ProductGroups',
      optional(array(lazy(() => productGroupSchema))),
    ],
  }
);
