interface ShippingAddress { city: string; address: string; zip: string; } export declare type Lang = 'en' | 'ar'; interface OrderHistoryItem { amount: string; status: 'new' | 'processing' | 'complete' | 'refunded' | 'canceled' | 'unknown'; purchased_at: string; payment_method?: 'card' | 'cod'; buyer?: Buyer; shipping_address?: ShippingAddress; items?: OrderItem[]; } interface BuyerHistory { registered_since: string; loyalty_level: number; wishlist_count?: number; is_social_networks_connected?: boolean; is_phone_number_verified?: boolean; is_email_verified?: boolean; } interface OrderItem { title: string; quantity: number; unit_price: string; category: string; description?: string; product_url?: string; reference_id?: string; brand?: string; color?: string; gender?: 'Male' | 'Female' | 'Kids' | 'Other'; image_url?: string; discount_amount?: string; } interface Order { reference_id: string; items: OrderItem[]; shipping_amount?: string; tax_amount?: string; discount_amount?: string; } interface Buyer { email: string; phone: string; name: string; dob?: string; } export interface Payment { amount: string; currency: Currency; order: Order; buyer: Buyer; buyer_history: BuyerHistory; order_history: OrderHistoryItem[]; shipping_address: ShippingAddress; description?: string; attachment?: { body: string; content_type: string; }; } export declare type TabbyPurchaseType = 'installments'; export declare type Currency = 'AED' | 'SAR' | 'KWD' | 'BHD' | 'QAR'; export interface TabbyCheckoutPayload { merchant_code: string; lang: Lang; payment: Payment; } export declare type ProductWebURL = { web_url: string; }; export interface CheckoutSession { id: string; configuration: { available_products: { installments?: ProductWebURL[]; }; products: { installments?: { type: string; is_available: boolean; rejection_reason?: string; }; }; }; payment: { id: string; }; } export declare const currencyDecimals: { [key in Currency]: number; }; export declare const COUNTRY_NAME_BY_CURRENCY_MAP: Record; export {};