/**
 * Account and Transaction API SpecificationLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import { lazy, object, Schema } from '../schema';
import { Amount, amountSchema } from './amount';
import {
  StatementBenefitTypeEnum,
  statementBenefitTypeEnumSchema,
} from './statementBenefitTypeEnum';

/** Set of elements used to provide details of a benefit or reward amount for the statement resource. */
export interface StatementBenefit {
  /** Amount of money of the cash balance. */
  amount: Amount;
  /** Benefit type, in a coded form. */
  type: StatementBenefitTypeEnum;
}

export const statementBenefitSchema: Schema<StatementBenefit> = object({
  amount: ['Amount', lazy(() => amountSchema)],
  type: ['Type', statementBenefitTypeEnumSchema],
});
