export interface IPlaidBalance {
  available: number;
  current: number;
  iso_currency_code: string;
  limit: number;
  unofficial_currency_code: string;
}

export interface IPlaidAccount {
  account_id: string;
  mask: string;
  name: string;
  official_name: string;
  subtype: string;
  type: string;
}

export type PlaidAccount = IPlaidAccount & { balances: IPlaidBalance };

export interface IPlaidTransaction {
  account_id: string;
  account_owner: any;
  amount: number;
  authorized_date: string;
  authorized_datetime: string;
  category: string[];
  category_id: string;
  check_number: any;
  date: string;
  datetime: string;
  iso_currency_code: string;
  location: {
    address: string,
    city: string,
    country: string,
    lat: number,
    lon: number,
    postal_code: string,
    region: string;
    store_number: string;
  };
  merchant_name: string;
  name: string;
  payment_channel: string;
  payment_meta: {
    by_order_of: any;
    payee: any;
    payer: any;
    payment_method: any;
    payment_processor: any;
    ppd_id: any;
    reason: any;
    reference_number: any;
  };
  pending: boolean;
  pending_transaction_id: any;
  personal_finance_category: any;
  transaction_code: any;
  transaction_id: string;
  transaction_type: string;
  unofficial_currency_code: string;
}
