import { Channel } from './brand'; export interface Merchant { id: string; legacy_id: string; business_entity_id: string; brand_id: string; base_currency: string; country: string; status: string; display_name: string; } export type VerificationStatus = 'incomplete' | 'complete' | 'reviewed' | 'verified'; export type MerchantStatus = 'all' | 'closed'; export interface MerchantDetails { id: string; status: MerchantStatus; marketplace: boolean; commerceplatform: { id: string; name: { en: string; }; logo: string; operator_id: string; }; platforms: Array<{ id: string; segment: string; brand: { logo?: string; name: Array<{ lang: string; text: string; }>; }; }>; wallet: { id: string; status: MerchantStatus; bank_account: { id: string; status: MerchantStatus; iban: string; }; payout_status: string; payout_status_control: string; }; created: number; country: string; terminal: { id: string; authorizes: { status: string; status_message: string; }; charges: { status: string; status_message: string; }; refunds: { status: string; status_message: string; }; virtual: boolean; acceptance_status: string; acceptance_status_control: string; }; payout_status: 'enabled' | 'disabled'; acceptance_status: 'enabled' | 'disabled'; legacy_id: string; base_currency: string; payment_provider: { technology_id: string; settlement_by: string; }; development_house: { id: string; name: { ar: string | null; en: string; }; logo: string; }; payment_provider_info: { technology: { id: string; name: { ar: string | null; en: string; }; logo: string; }; settlement_by: { id: string; name: { ar: string | null; en: string; }; logo: string; }; }; } export interface BusinessMerchant { id: string; status: MerchantStatus; created: number; object: string; live_mode: boolean; api_version: string; comments_count: number; reference_id: string; control_by: string; marketplace: { id: string; brand: { id: string; status: VerificationStatus; name: { textId: string; en: string; }; logo: string; }; legacy_id: string; }; business: { id: string; status: MerchantStatus; brand: { id: string; status: VerificationStatus; channel_services: Channel[]; name: { textId: string; ar: string; en: string; }; logo: string; }; entity: { id: string; status: VerificationStatus; legal_name: { en: string; }; merchant: MerchantDetails; retailer: MerchantDetails; country: string; license: { number: string; type: string; additional_info?: { unified_number?: string; }; }; tax_status: MerchantStatus; tax_number: string; type: string; }; user: { id: string; status: VerificationStatus; names: { ar: { first: string; middle: string; third: string; }; en: { first: string; middle: string; last: string; third: string; }; }; identification_id: string; identification: { id: string; issued_country_code: string; type: string; }; }; individuals: { status: VerificationStatus; count: number; }; primary_contact: { email: string; phone: { country_code: string; number: string; }; }; }; lead: { id: string; status: MerchantStatus; created: number; }; track: Array<{ id: string; status: MerchantStatus; created: number; }>; } export interface MerchantInfo { brandId?: string; entityId?: string; merchantId?: string; legacyId?: string; }