/**
 * AdvancedBilling
 *
 * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ).
 */

import {
  array,
  expandoObject,
  lazy,
  number,
  optional,
  Schema,
} from '../schema.js';
import { InvoiceEvent, invoiceEventSchema } from './containers/invoiceEvent.js';

export interface ListInvoiceEventsResponse {
  events?: InvoiceEvent[];
  page?: number;
  perPage?: number;
  totalPages?: number;
  [key: string]: unknown;
}

export const listInvoiceEventsResponseSchema: Schema<ListInvoiceEventsResponse> = lazy(
  () =>
    expandoObject({
      events: ['events', optional(array(invoiceEventSchema))],
      page: ['page', optional(number())],
      perPage: ['per_page', optional(number())],
      totalPages: ['total_pages', optional(number())],
    })
);
