/* eslint-disable @typescript-eslint/naming-convention, no-underscore-dangle, id-blacklist, id-match */
import { FleioId, IBaseFleioObjectModel } from './base-model/base-fleio-object.model';
import { IPermissionsModel } from './base-model/IPermissionsModel';

export class FleioObjectsList<ObjectModelType extends IBaseFleioObjectModel> {
  count: number;
  next: string;
  previous: string;
  objects: ObjectModelType[];
  totalCount: number;
  permissions: IPermissionsModel;
  hasMore?: boolean;
  onePage?: boolean;
  disableCreate?: boolean;
  operations?: {
    id: string;
    created_at: Date;
    name: string;
    [paramName: string]: any;
  }[];
  unpaid_invoices?: number;
  unpaid_invoice_id?: FleioId;
  lastPage: boolean;
  pageNo?: number;
  has_departments?: boolean;
}
