export interface IPaymentMethodBasePayload {
  code: string
  name_en: string
  name_ar: string
  description_en?: string
  description_ar?: string
  instructions_en?: string
  instructions_ar?: string
  type: 'online' | 'offline'
  requires_online_payment?: boolean
  bank_name?: string
  account_number?: string
  account_holder?: string
  iban?: string
  swift_code?: string
  wallet_number?: string
  wallet_holder?: string
  gateway_url?: string
  gateway_config?: string[]
  icon?: string
  sort_order?: number
  is_active?: boolean
  fee_percentage?: string | number
  fee_fixed?: string | number
}

export type ICreatePaymentMethodPayload = IPaymentMethodBasePayload

export type IUpdatePaymentMethodPayload = Partial<IPaymentMethodBasePayload> & { code?: string }
