export type BitsoBook =
  | 'btc_mxn'
  | 'eth_btc'
  | 'eth_mxn'
  | 'xrp_btc'
  | 'xrp_mxn'
  | 'ltc_btc'
  | 'ltc_mxn'
  | 'bch_btc'
  | 'bch_mxn'
  | 'tusd_btc'
  | 'tusd_mxn'
  | 'mana_btc'
  | 'mana_mxn'
  | 'bat_btc'
  | 'bat_mxn'
  | 'btc_ars'
  | 'btc_dai'
  | 'dai_mxn'
  | 'btc_usd'
  | 'xrp_usd'
  | 'eth_usd'
  | 'dai_ars'
  | 'btc_brl'
  | 'eth_ars'

type Major = 'btc' | 'eth' | 'xrp' | 'ltc' | 'bch' | 'tusd' | 'bat' | 'dai' | 'mana'
type Minor = 'mxn' | 'usd' | 'ars' | 'brl' | Major
export type BitsoCurrency = Minor
export type BitsoCurrencyType = 'fiat' | 'crypto'

export type BitsoSortDirection = 'asc' | 'desc'
export type BitsoChart = 'candle' | 'depth'

export type LedgerOperation = 'trade' | 'fee' | 'funding' | 'withdrawal' | 'quoted_order'
export type MethodFee = 'bind' | 'ted' | 'ca' | 'pix' | 'mt'
export type BitsoSide = 'buy' | 'sell'
export type BitsoOrderExecution = 'goodtillcancelled' | 'fillorkill' | 'immediateorcancel' | 'postonly'

export type WithdrawalStatus = 'pending' | 'processing' | 'complete' | 'failed'
export type FundingStatus = 'pending' | 'in_progress' | 'complete' | 'failed'
export type AccountStatus = 'active' | 'inactive'
export type CellphoneStatus = 'unsubmitted' | 'submitted' | 'verified'
export type EmailStatus = string // TODO: verified
export type DocumentStatus = 'unsubmitted' | 'submitted' | 'verified' | 'rejected'

export type CountryCode =
  | 'af'
  | 'ax'
  | 'al'
  | 'dz'
  | 'as'
  | 'ad'
  | 'ao'
  | 'ai'
  | 'aq'
  | 'ag'
  | 'ar'
  | 'am'
  | 'aw'
  | 'au'
  | 'at'
  | 'az'
  | 'bs'
  | 'bh'
  | 'bd'
  | 'bb'
  | 'by'
  | 'be'
  | 'bz'
  | 'bj'
  | 'bm'
  | 'bt'
  | 'bo'
  | 'bq'
  | 'ba'
  | 'bw'
  | 'bv'
  | 'br'
  | 'io'
  | 'bn'
  | 'bg'
  | 'bf'
  | 'bi'
  | 'kh'
  | 'cm'
  | 'ca'
  | 'cv'
  | 'ky'
  | 'cf'
  | 'td'
  | 'cl'
  | 'cn'
  | 'cx'
  | 'cc'
  | 'co'
  | 'km'
  | 'cg'
  | 'cd'
  | 'ck'
  | 'cr'
  | 'ci'
  | 'hr'
  | 'cu'
  | 'cw'
  | 'cy'
  | 'cz'
  | 'dk'
  | 'dj'
  | 'dm'
  | 'do'
  | 'ec'
  | 'eg'
  | 'sv'
  | 'gq'
  | 'er'
  | 'ee'
  | 'et'
  | 'fk'
  | 'fo'
  | 'fj'
  | 'fi'
  | 'fr'
  | 'gf'
  | 'pf'
  | 'tf'
  | 'ga'
  | 'gm'
  | 'ge'
  | 'de'
  | 'gh'
  | 'gi'
  | 'gr'
  | 'gl'
  | 'gd'
  | 'gp'
  | 'gu'
  | 'gt'
  | 'gg'
  | 'gn'
  | 'gw'
  | 'gy'
  | 'ht'
  | 'hm'
  | 'va'
  | 'hn'
  | 'hk'
  | 'hu'
  | 'is'
  | 'in'
  | 'id'
  | 'ir'
  | 'iq'
  | 'ie'
  | 'im'
  | 'il'
  | 'it'
  | 'jm'
  | 'jp'
  | 'je'
  | 'jo'
  | 'kz'
  | 'ke'
  | 'ki'
  | 'kp'
  | 'kr'
  | 'kw'
  | 'kg'
  | 'la'
  | 'lv'
  | 'lb'
  | 'ls'
  | 'lr'
  | 'ly'
  | 'li'
  | 'lt'
  | 'lu'
  | 'mo'
  | 'mk'
  | 'mg'
  | 'mw'
  | 'my'
  | 'mv'
  | 'ml'
  | 'mt'
  | 'mh'
  | 'mq'
  | 'mr'
  | 'mu'
  | 'yt'
  | 'mx'
  | 'fm'
  | 'md'
  | 'mc'
  | 'mn'
  | 'me'
  | 'ms'
  | 'ma'
  | 'mz'
  | 'mm'
  | 'na'
  | 'nr'
  | 'np'
  | 'nl'
  | 'nc'
  | 'nz'
  | 'ni'
  | 'ne'
  | 'ng'
  | 'nu'
  | 'nf'
  | 'mp'
  | 'no'
  | 'om'
  | 'pk'
  | 'pw'
  | 'ps'
  | 'pa'
  | 'pg'
  | 'py'
  | 'pe'
  | 'ph'
  | 'pn'
  | 'pl'
  | 'pt'
  | 'pr'
  | 'qa'
  | 're'
  | 'ro'
  | 'ru'
  | 'rw'
  | 'bl'
  | 'sh'
  | 'kn'
  | 'lc'
  | 'mf'
  | 'pm'
  | 'vc'
  | 'ws'
  | 'sm'
  | 'st'
  | 'sa'
  | 'sn'
  | 'rs'
  | 'sc'
  | 'sl'
  | 'sg'
  | 'sx'
  | 'sk'
  | 'si'
  | 'sb'
  | 'so'
  | 'za'
  | 'gs'
  | 'ss'
  | 'es'
  | 'lk'
  | 'sd'
  | 'sr'
  | 'sj'
  | 'sz'
  | 'se'
  | 'ch'
  | 'sy'
  | 'tw'
  | 'tj'
  | 'tz'
  | 'th'
  | 'tl'
  | 'tg'
  | 'tk'
  | 'to'
  | 'tt'
  | 'tn'
  | 'tr'
  | 'tm'
  | 'tc'
  | 'tv'
  | 'ug'
  | 'ua'
  | 'ae'
  | 'gb'
  | 'us'
  | 'um'
  | 'uy'
  | 'uz'
  | 'vu'
  | 've'
  | 'vn'
  | 'vg'
  | 'vi'
  | 'wf'
  | 'eh'
  | 'ye'
  | 'zm'
  | 'zw'
