import { UUID } from "crypto";

export interface DecodedAd1 {
  // Insurance company information
  ins_co_id?: string;
  ins_co_nm?: string;
  ins_addr1?: string;
  ins_addr2?: string;
  ins_city?: string;
  ins_st?: string;
  ins_zip?: string;
  ins_ctry?: string;
  ins_ea?: string;
  ins_ph1?: string;
  ins_ph1x?: string;
  ins_ph2?: string;
  ins_ph2x?: string;
  ins_fax?: string;
  ins_faxx?: string;
  ins_ct_ln?: string;
  ins_ct_fn?: string;
  ins_title?: string;
  ins_ct_ph?: string;
  ins_ct_phx?: string;

  // Policy information
  policy_no?: string;
  ded_amt?: string;
  ded_status?: string;
  asgn_no?: string;
  asgn_date?: Date | string;
  asgn_type?: string;

  // Claim information
  clm_no?: string;
  clm_ofc_id?: string;
  clm_ofc_nm?: string;
  clm_addr1?: string;
  clm_addr2?: string;
  clm_city?: string;
  clm_st?: string;
  clm_zip?: string;
  clm_ctry?: string;
  clm_ph1?: string;
  clm_ph1x?: string;
  clm_ph2?: string;
  clm_ph2x?: string;
  clm_fax?: string;
  clm_faxx?: string;
  clm_ct_ln?: string;
  clm_ct_fn?: string;
  clm_title?: string;
  clm_ct_ph?: string;
  clm_ct_phx?: string;
  clm_ea?: string;

  // Payment information
  payee_nms?: string;
  pay_type?: string;
  pay_date?: string;
  pay_chknm?: string;
  pay_amt?: string;

  // Agent information
  agt_co_id?: string;
  agt_co_nm?: string;
  agt_addr1?: string;
  agt_addr2?: string;
  agt_city?: string;
  agt_st?: string;
  agt_zip?: string;
  agt_ctry?: string;
  agt_ph1?: string;
  agt_ph1x?: string;
  agt_ph2?: string;
  agt_ph2x?: string;
  agt_fax?: string;
  agt_faxx?: string;
  agt_ct_ln?: string;
  agt_ct_fn?: string;
  agt_ct_ph?: string;
  agt_ct_phx?: string;
  agt_ea?: string;
  agt_lic_no?: string;

  // Loss information
  loss_date?: string;
  loss_type?: string;
  loss_desc?: string;
  theft_ind?: string;
  cat_no?: string;
  tlos_ind?: string;
  cust_pr?: string;
  loss_cat?: string;

  // Insured information
  insd_ln?: string;
  insd_fn?: string;
  insd_title?: string;
  insd_co_nm?: string;
  insd_addr1?: string;
  insd_addr2?: string;
  insd_city?: string;
  insd_st?: string;
  insd_zip?: string;
  insd_ctry?: string;
  insd_ph1?: string;
  insd_ph2?: string;
  insd_fax?: string;
  insd_faxx?: string;
  insd_ea?: string;

  // Owner information
  ownr_ln?: string;
  ownr_fn?: string;
  ownr_title?: string;
  ownr_co_nm?: string;
  ownr_addr1?: string;
  ownr_addr2?: string;
  ownr_city?: string;
  ownr_st?: string;
  ownr_zip?: string;
  ownr_ctry?: string;
  ownr_ph1?: string;
  ownr_ph2?: string;
  ownr_ea?: string;

  // Owner data object - referenced in the code
  owner: {
    data: OwnerRecordInterface;
  };
}

export interface OwnerRecordInterface {
  ownr_ln?: string;
  ownr_fn?: string;
  ownr_title?: string;
  ownr_co_nm?: string;
  ownr_addr1?: string;
  ownr_addr2?: string;
  ownr_city?: string;
  ownr_st?: string;
  ownr_zip?: string;
  ownr_ctry?: string;
  ownr_ph1?: string;
  ownr_ph2?: string;
  ownr_ea?: string;
  shopid: UUID;
}
