export type ElementsNames =
  | 'selectLead'
  | 'selectOpportunity'
  | 'selectQuote'
  | 'cbxRecalcWithRevision'
  | 'selectProduct'
  | 'selectClientRisk'
  | 'selectClientType'
  | 'tbxLeaseObjectPrice'
  | 'selectSupplierCurrency'
  | 'tbxSupplierDiscountRub'
  | 'tbxSupplierDiscountPerc'
  | 'tbxLeasingPeriod'
  | 'tbxFirstPaymentPerc'
  | 'tbxFirstPaymentRub'
  | 'tbxLastPaymentPerc'
  | 'tbxLastPaymentRub'
  | 'radioLastPaymentRule'
  | 'tbxRedemptionPaymentSum'
  | 'radioBalanceHolder'
  | 'radioGraphType'
  | 'tbxParmentsDecreasePercent'
  | 'selectSeasonType'
  | 'selectHighSeasonStart'
  | 'tbxComissionPerc'
  | 'tbxComissionRub'
  | 'tbxSaleBonus'
  | 'tbxBonusCoefficient'
  | 'tbxIRR_Perc'
  | 'selectLeaseObjectType'
  | 'radioDeliveryTime'
  | 'labelDepreciationGroup'
  | 'tbxLeaseObjectCount'
  | 'cbxWithTrailer'
  | 'cbxLeaseObjectUsed'
  | 'tbxMaxMass'
  | 'tbxCountSeats'
  | 'tbxMaxSpeed'
  | 'selectBrand'
  | 'selectModel'
  | 'selectConfiguration'
  | 'tbxLeaseObjectYear'
  | 'selectEngineType'
  | 'selectLeaseObjectCategory'
  | 'tbxLeaseObjectMotorPower'
  | 'tbxEngineVolume'
  | 'selectLeaseObjectUseFor'
  | 'selectDealer'
  | 'selectDealerPerson'
  | 'selectDealerRewardCondition'
  | 'tbxDealerRewardSumm'
  | 'selectDealerBroker'
  | 'selectDealerBrokerRewardCondition'
  | 'tbxDealerBrokerRewardSumm'
  | 'selectIndAgent'
  | 'selectIndAgentRewardCondition'
  | 'tbxIndAgentRewardSumm'
  | 'selectCalcDoubleAgent'
  | 'selectCalcDoubleAgentRewardCondition'
  | 'tbxCalcDoubleAgentRewardSumm'
  | 'selectCalcBroker'
  | 'selectCalcBrokerRewardCondition'
  | 'tbxCalcBrokerRewardSum'
  | 'selectCalcFinDepartment'
  | 'selectFinDepartmentRewardCondtion'
  | 'tbxFinDepartmentRewardSumm'
  | 'selectGPSBrand'
  | 'selectGPSModel'
  | 'selectRegionRegistration'
  | 'selectTownRegistration'
  | 'radioInfuranceOPF'
  | 'radioInsKaskoType'
  | 'cbxInsDecentral'
  | 'tbxInsFranchise'
  | 'cbxInsUnlimitDrivers'
  | 'tbxInsAgeDrivers'
  | 'tbxInsExpDrivers'
  | 'tbxINNForCalc'
  | 'cbxLastPaymentRedemption'
  | 'cbxPriceWithDiscount'
  | 'cbxFullPriceWithDiscount'
  | 'cbxCostIncrease'
  | 'cbxInsurance'
  | 'cbxRegistrationQuote'
  | 'cbxTechnicalCardQuote'
  | 'cbxNSIB'
  | 'tbxQuoteName'
  | 'radioQuoteContactGender'
  | 'cbxQuoteRedemptionGraph'
  | 'cbxShowFinGAP'
  | 'selectTarif'
  | 'tbxCreditRate'
  | 'selectRate'
  | 'radioRequirementTelematic'
  | 'tbxMaxPriceChange'
  | 'tbxImporterRewardPerc'
  | 'tbxImporterRewardRub'
  | 'cbxDisableChecks'
  | 'selectRegistration'
  | 'selectInsNSIB'
  | 'selectTechnicalCard'
  | 'selectTelematic'
  | 'selectTracker'
  | 'tbxMileage'
  | 'radioCalcType'
  | 'tbxTotalPayments'
  | 'radioObjectRegistration'
  | 'selectObjectRegionRegistration'
  | 'tbxVehicleTaxInYear'
  | 'tbxVehicleTaxInLeasingPeriod'
  | 'selectObjectCategoryTax'
  | 'selectObjectTypeTax'
  | 'radioTypePTS'
  | 'selectLegalClientRegion'
  | 'selectLegalClientTown'
  | 'selectSubsidy'
  | 'labelSubsidySum'
  | 'selectFuelCard'
  | 'tbxMinPriceChange'
  | 'tbxEngineHours'
  | 'selectImportProgram'
  | 'tbxLeaseObjectPriceWthtVAT'
  | 'tbxVATInLeaseObjectPrice'
  | 'tbxAddEquipmentPrice'
  | 'tbxVIN'
  | 'selectLeasingWithoutKasko'
  /** Result Elements */
  | 'labelResultTotalGraphwithNDS'
  | 'labelResultPlPrice'
  | 'labelResultPriceUpPr'
  | 'labelResultIRRGraphPerc'
  | 'labelResultIRRNominalPerc'
  | 'labelResultInsKasko'
  | 'labelResultInsOsago'
  | 'labelResultDopProdSum'
  | 'labelResultFirstPayment'
  | 'labelResultLastPayment'
  | 'labelResultTerm'
  | 'labelResultAB_FL'
  | 'labelResultAB_UL'
  | 'labelResultBonusMPL'
  | 'labelResultDopMPLLeasing'
  | 'labelResultBonusDopProd'
  | 'labelResultBonusSafeFinance'
  | 'labelResultFirstPaymentRiskPolicy'
  | 'labelResultParticipationAmount';

export type ButtonElementsNames = 'btnCreateKP' | 'btnCalculate';
export type LinkElementsNames = 'linkDownloadKp';
export type ComputedElementsNames =
  | 'labelLeaseObjectRisk'
  | 'tbxInsKaskoPriceLeasePeriod'
  | 'labelIrrInfo'
  | 'labelRegistrationDescription'
  | 'labelImportProgramSum';

export type CustomComponents = 'componentElt' | 'componentfinGAP';

/** GROUPS */
export type InteractionElementsNames =
  | ElementsNames
  | ButtonElementsNames
  | LinkElementsNames;

export type NonValueElementsNames =
  | ButtonElementsNames
  | LinkElementsNames
  | ComputedElementsNames;

export type AllElementsNames =
  | ElementsNames
  | ComputedElementsNames
  | ButtonElementsNames
  | LinkElementsNames;
