import { FleioId } from '../../base-model/base-fleio-object.model';
import { IProductCycleModel } from '@fleio-api/billing/model/product-cycle.model';
import { IProductModel } from '@fleio-api/billing/model/product.model';
import { IConfigOptionModel } from '@fleio-api/billing/model/config-option.model';
import { IServiceConfigOptionModel } from '@fleio-api/billing/model/service-config-option.model';

export interface IServiceUpgradeOptionsModel {
  id: FleioId;
  display_name: string;
  cycle: IProductCycleModel;
  status: string;
  upgrades: IProductModel[];
  existing_upgrade_invoice: FleioId;
  cycle_upgrades: IProductCycleModel[];
  product: IProductModel;
  configurable_options: IServiceConfigOptionModel[];
  configurable_options_upgrades: IConfigOptionModel[];
  has_not_reached_service_cycles: boolean;
  has_service_cycles_paid_in_advance: boolean;
  enduser_allow_service_cycle_change?: boolean;
  enduser_shorten_current_product_service_cycle?: boolean;
  enduser_shorten_new_product_service_cycle?: boolean;
}
