export default interface Breakdown {
  taxable_amount: number,
  tax_collectable: number,
  combined_tax_rate: number,
  state_taxable_amount?: number,
  state_tax_rate?: number,
  state_tax_collectable?: number,
  county_taxable_amount?: number,
  county_tax_rate?: number,
  county_tax_collectable?: number,
  city_taxable_amount?: number,
  city_tax_rate?: number,
  city_tax_collectable?: number,
  special_district_taxable_amount?: number,
  special_tax_rate?: number,
  special_district_tax_collectable?: number,
  shipping?: {
    taxable_amount: number,
    tax_collectable: number,
    state_taxable_amount: number,
    state_sales_tax_rate: number,
    state_amount: number,
    special_taxable_amount: number,
    special_tax_rate: number,
    special_district_amount: number,
    county_taxable_amount: number,
    county_tax_rate: number,
    county_amount: number,
    combined_tax_rate: number,
    city_taxable_amount: number,
    city_tax_rate: number,
    city_amount: number
  },
  line_items?: {
    taxable_amount: number,
    tax_collectable: number,
    state_taxable_amount?: number,
    state_sales_tax_rate?: number,
    state_amount?: number,
    special_tax_rate?: number,
    special_district_taxable_amount?: number,
    special_district_amount?: number,
    id?: string,
    county_taxable_amount?: number,
    county_tax_rate?: number,
    county_amount?: number,
    combined_tax_rate?: number,
    city_taxable_amount?: number,
    city_tax_rate?: number,
    city_amount?: number,

    // Canada line item attributes
    gst_taxable_amount?: number,
    gst_tax_rate?: number,
    gst?: number,
    pst_taxable_amount?: number,
    pst_tax_rate?: number,
    pst?: number,
    qst_taxable_amount?: number,
    qst_tax_rate?: number,
    qst?: number,

    // International line item attributes
    country_taxable_amount?: number,
    country_tax_rate?: number,
    country_tax_collectable?: number
  }[],

  // Canada attributes
  gst_taxable_amount?: number,
  gst_tax_rate?: number,
  gst?: number,
  pst_taxable_amount?: number,
  pst_tax_rate?: number,
  pst?: number,
  qst_taxable_amount?: number,
  qst_tax_rate?: number,
  qst?: number,

  // International attributes
  country_taxable_amount?: number,
  country_tax_rate?: number,
  country_tax_collectable?: number
}
