export type ConfigType = {
  appId: number;
  walletAddress?: string;
  coinCode?: string;
  network?: string;
  coinAmount?: number;
  fiatAmount?: number;
  merchantRecognitionId?: string;
  paymentMethod?: number;
  flowType?: number;
  authToken?: string;
  assetDescription?: string;
  assetImage?: string;
  fiatType?: number;
  phoneNumber?: string;
  lang?: string;
  addressTag?: string;
  sellCoinCode?: string;
  receiveCoinCode?: string;
  sellAmount?: number;
  receiveAmount?: number;
  sellNetwork?: string;
  receiveNetwork?: string;
  redirectUrl?: string;
  defaultCoinCode?: string;
  defaultSellCoinCode?: string;
  isRestricted?: Boolean;
};

export type LoginParams = {
  appId: number;
  closeAfterLogin: boolean;
  signature?: string;
  phoneNumber?: string;
  lang?: string;
};

export type InitiateKycParams = {
  appId: number;
  payload: string;
  signature: string;
  customerId: string;
  apiKey: string;
  lang?: string;
};

export interface StatusUpdates extends Record<string, any> {
  msg: String | null;
  fiatAmount: Number | null;
  cryptoAmount: String | null;
  coinRate: Number | null;
  paymentMethod: String | null;
}

export interface OnrampSDKResult extends Record<string, any> {
  type: String;
  data?: StatusUpdates;
  isOnramp: boolean;
}
