/**
 * Interface representing decoded data from a PFT file
 * Contains tax type information with up to 6 tax types and 5 tiers each
 */
export interface DecodedPftLine {
  // Tax Type 1
  tax_type1?: string;
  ty1_tier1?: number;
  ty1_thres1?: number;
  ty1_rate1?: number;
  ty1_sur1?: number;
  ty1_tier2?: number;
  ty1_thres2?: number;
  ty1_rate2?: number;
  ty1_sur2?: number;
  ty1_tier3?: number;
  ty1_thres3?: number;
  ty1_rate3?: number;
  ty1_sur3?: number;
  ty1_tier4?: number;
  ty1_thres4?: number;
  ty1_rate4?: number;
  ty1_sur4?: number;
  ty1_tier5?: number;
  ty1_thres5?: number;
  ty1_rate5?: number;
  ty1_sur5?: number;

  // Tax Type 2
  tax_type2?: string;
  ty2_tier1?: number;
  ty2_thres1?: number;
  ty2_rate1?: number;
  ty2_sur1?: number;
  ty2_tier2?: number;
  ty2_thres2?: number;
  ty2_rate2?: number;
  ty2_sur2?: number;
  ty2_tier3?: number;
  ty2_thres3?: number;
  ty2_rate3?: number;
  ty2_sur3?: number;
  ty2_tier4?: number;
  ty2_thres4?: number;
  ty2_rate4?: number;
  ty2_sur4?: number;
  ty2_tier5?: number;
  ty2_thres5?: number;
  ty2_rate5?: number;
  ty2_sur5?: number;

  // Tax Type 3
  tax_type3?: string;
  ty3_tier1?: number;
  ty3_thres1?: number;
  ty3_rate1?: number;
  ty3_sur1?: number;
  ty3_tier2?: number;
  ty3_thres2?: number;
  ty3_rate2?: number;
  ty3_sur2?: number;
  ty3_tier3?: number;
  ty3_thres3?: number;
  ty3_rate3?: number;
  ty3_sur3?: number;
  ty3_tier4?: number;
  ty3_thres4?: number;
  ty3_rate4?: number;
  ty3_sur4?: number;
  ty3_tier5?: number;
  ty3_thres5?: number;
  ty3_rate5?: number;
  ty3_sur5?: number;

  // Tax Type 4
  tax_type4?: string;
  ty4_tier1?: number;
  ty4_thres1?: number;
  ty4_rate1?: number;
  ty4_sur1?: number;
  ty4_tier2?: number;
  ty4_thres2?: number;
  ty4_rate2?: number;
  ty4_sur2?: number;
  ty4_tier3?: number;
  ty4_thres3?: number;
  ty4_rate3?: number;
  ty4_sur3?: number;
  ty4_tier4?: number;
  ty4_thres4?: number;
  ty4_rate4?: number;
  ty4_sur4?: number;
  ty4_tier5?: number;
  ty4_thres5?: number;
  ty4_rate5?: number;
  ty4_sur5?: number;

  // Tax Type 5
  tax_type5?: string;
  ty5_tier1?: number;
  ty5_thres1?: number;
  ty5_rate1?: number;
  ty5_sur1?: number;
  ty5_tier2?: number;
  ty5_thres2?: number;
  ty5_rate2?: number;
  ty5_sur2?: number;
  ty5_tier3?: number;
  ty5_thres3?: number;
  ty5_rate3?: number;
  ty5_sur3?: number;
  ty5_tier4?: number;
  ty5_thres4?: number;
  ty5_rate4?: number;
  ty5_sur4?: number;
  ty5_tier5?: number;
  ty5_thres5?: number;
  ty5_rate5?: number;
  ty5_sur5?: number;

  // Tax Type 6
  tax_type6?: string;
  ty6_tier1?: number;
  ty6_thres1?: number;
  ty6_rate1?: number;
  ty6_sur1?: number;
  ty6_tier2?: number;
  ty6_thres2?: number;
  ty6_rate2?: number;
  ty6_sur2?: number;
  ty6_tier3?: number;
  ty6_thres3?: number;
  ty6_rate3?: number;
  ty6_sur3?: number;
  ty6_tier4?: number;
  ty6_thres4?: number;
  ty6_rate4?: number;
  ty6_sur4?: number;
  ty6_tier5?: number;
  ty6_thres5?: number;
  ty6_rate5?: number;
  ty6_sur5?: number;
}

export interface DecodedPft {
  cieca_pft: DecodedPftLine;
}
