export interface BillItems {
    itemId: string;
    description: string;
    quantity: string;
    price: string;
  }
  
  export interface MerchantInfo {
    merchantCode: string;
    merchantSecretCode?: string;
    merchantRefNum: string;
  }
  
  export interface CustomerInfo {
    customerName: string;
    customerMobile: string;
    customerEmail: string;
    customerProfileId: string;
  }

  export interface LaunchApplePayModel {
    merchantID: string;
  }

  export interface LaunchCheckoutModel {
    scheme: string;
  }
  
  export interface FawryLaunchModel {
    baseUrl: string;
    lang: FawryLanguages;
    merchantInfo: MerchantInfo;
    customerInfo: CustomerInfo;
    items: BillItems[];
    allow3DPayment: boolean;
    skipReceipt: boolean;
    skipLogin: boolean;
    skipCustomerInput?: boolean;
    payWithCardToken: boolean;
    authCaptureMode: boolean;
    allowVoucher: boolean;
    paymentSignature?: string;
    tokenizationSignature?: string;
    paymentMethod?: string;
    launchApplePayModel?: LaunchApplePayModel;
    launchCheckoutModel?: LaunchCheckoutModel;
  }
  
  export type FawryLanguages = 'ENGLISH' | 'ARABIC';
  export type FawryPayListener = (eventName: string, payload: string) => void

 