export declare enum ItemAction { View = "view", Detail = "detail", Impression = "impression", TopUp = "top_up", Cancel = "cancel", Update = "update", Remove = "remove", Add = "add", Select = "select", AddToFavorite = "add_favorite", RemoveFromFavorite = "remove_favorite", AddToReminder = "add_reminder", RemoveFromReminder = "remove_reminder", RemoveFromReminderAuto = "remove_reminder_auto", Other = "other" } export declare enum StockStatus { InStock = "in_stock", LowStock = "low_stock", OutOfStock = "out_of_stock" } export declare enum ItemType { Blood = "blood", Oxygen = "oxygen", Drug = "drug", Facility = "facility", Grocery = "grocery", MedicalEquipment = "medical_equipment", Subscription = "subscription", Electronics = "electronics", Clothing = "clothing", Book = "book", Misc = "misc", ItemVerification = "item_verification", ItemReport = "item_report", Reward = "reward", Survey = "survey", Other = "other" } export declare enum CartAction { AddItem = "add_item", RemoveItem = "remove_item" } export declare enum ShopMode { Delivery = "delivery", Pickup = "pickup" } export declare enum CancelType { Cart = "cart", Order = "order" } export declare enum DeliveryAction { Delivered = "delivered", Dispatch = "dispatch", Schedule = "schedule", Update = "update" } export declare enum ScanChannel { App = "app", Ussd = "ussd" } export declare enum ScanType { Pin = "pin", QrCode = "qr_code" } export declare enum SubscriptionStatus { Active = "active", InActive = "inactive", Paused = "paused", Other = "other" } export declare enum SubscriptionType { PayAsYouSell = "pay_as_you_sell", PayAsYouGo = "pay_as_you_go", Other = "other" } export declare enum BloodComponent { Platelets = "Platelets", Cryoprecipitate = "Cryoprecipitate", WholeBlood = "Whole Blood", FreshFrozenPlasma = "Fresh Frozen Plasma", PackedRedBloodCells = "Packed Red Blood Cells", Other = "Other" } export declare enum BloodGroup { A_plus = "A+", A_minus = "A-", B_plus = "B+", B_minus = "B-", AB_plus = "AB+", AB_minus = "AB-", O_plus = "O+", O_minus = "O-", Unsure = "unsure" } export interface ItemProperties { action: ItemAction; item: ItemDetail; search_id?: string; meta?: any; } export interface ItemDetail { id: string; type: ItemType; quantity: number; price: number; currency: CurrencyCode; discount?: number; stock_status?: StockStatus; promo_id?: string; facility_id?: string; subscription?: Subscription; meta?: BloodMetaModel | OxygenMetaModel | any; } export interface Subscription { status: SubscriptionStatus; type: SubscriptionType; subscription_items: Array; } export interface BloodMetaModel { cross_matching: boolean; temperature_strips: boolean; extra_tests: boolean; reason: string; } export interface OxygenMetaModel { order_type: string; reason: string; } export interface CoordinatesObject { lat: number; lon: number; } export interface DeliveryProperties { id: string; order_id: string; action: DeliveryAction; is_urgent: boolean; est_delivery_ts: number; delivery_coordinates?: CoordinatesObject; dispatch_coordinates?: CoordinatesObject; meta?: any; } export interface CancelCheckoutProperties { id: string; type: CancelType; items: Array; reason: string; meta?: any; } export interface ItemTypeModel { id: string; type: ItemType; facility_id?: string; } export interface CartProperties { id: string; action: CartAction; item: ItemDetail; cart_price: number; currency: CurrencyCode; } export interface CheckoutProperties { id: string; cart_id: string; is_successful: boolean; cart_price: number; currency: CurrencyCode; shop_mode?: ShopMode; items: Array; } export interface StoreProperties { id: string; lat: number; lon: number; } export interface ReportProperties { id: string; short_desc: string; remarks: string; } export interface ItemReportProperties { item: ItemTypeModel; store_info: StoreProperties; report_info: ReportProperties; } export interface ItemRequestProperties { request_id: string; item_name: string; manufacturer: string; } export interface ItemInfoProperties { id: string; type: ItemType; batch_id: string; survey_id: string; reward_id: string; is_featured: boolean; production_date: number; expiry_date: number; } export interface ItemVerificationProperties { scan_channel: ScanChannel; scan_type: ScanType; is_successful: boolean; item_info?: ItemInfoProperties; } export interface ItemImpressionModel { item_properties: ItemDetail; catalog_properties?: DrugProperties | BloodProperties | OxygenProperties | MedicalEquipmentProperties | FacilityProperties; } export interface DrugProperties { market_id: string; name?: string; description?: string; supplier_id: string; supplier_name: string; producer?: string; packaging?: string; active_ingredients: Array; drug_form?: string; drug_strength?: string; atc_anatomical_group?: string; otc_or_ethical?: string; } export interface GroceryProperties { name?: string; category?: string; market_id: string; description?: string; supplier_id: string; supplier_name: string; producer?: string; packaging?: string; packaging_size?: number; packaging_units?: string; active_ingredients: Array; } export interface BloodProperties { market_id: string; blood_component: BloodComponent; blood_group: BloodGroup; packaging?: string; packaging_size?: number; packaging_units?: string; supplier_id?: string; supplier_name?: string; } export interface OxygenProperties { market_id: string; packaging?: string; packaging_size?: number; packaging_units?: string; supplier_id?: string; supplier_name?: string; } export interface MedicalEquipmentProperties { name: string; description?: string; market_id: string; supplier_id?: string; supplier_name?: string; producer?: string; packaging?: string; packaging_size?: number; packaging_units?: string; category?: string; } export interface FacilityProperties { name: string; type: string; country?: string; region_state?: string; city?: string; is_active?: boolean; has_delivery?: boolean; is_sponsored?: boolean; } export declare enum CurrencyCode { AED = "AED", AFN = "AFN", ALL = "ALL", AMD = "AMD", ANG = "ANG", AOA = "AOA", ARS = "ARS", AUD = "AUD", AWG = "AWG", AZN = "AZN", BAM = "BAM", BBD = "BBD", BDT = "BDT", BGN = "BGN", BHD = "BHD", BIF = "BIF", BMD = "BMD", BND = "BND", BOB = "BOB", BRL = "BRL", BSD = "BSD", BTN = "BTN", BWP = "BWP", BYR = "BYR", BZD = "BZD", CAD = "CAD", CDF = "CDF", CHF = "CHF", CLP = "CLP", CNY = "CNY", COP = "COP", CRC = "CRC", CUC = "CUC", CUP = "CUP", CVE = "CVE", CZK = "CZK", DJF = "DJF", DKK = "DKK", DOP = "DOP", DZD = "DZD", EGP = "EGP", ERN = "ERN", ETB = "ETB", EUR = "EUR", FJD = "FJD", FKP = "FKP", GBP = "GBP", GEL = "GEL", GGP = "GGP", GHS = "GHS", GIP = "GIP", GMD = "GMD", GNF = "GNF", GTQ = "GTQ", GYD = "GYD", HKD = "HKD", HNL = "HNL", HRK = "HRK", HTG = "HTG", HUF = "HUF", IDR = "IDR", ILS = "ILS", IMP = "IMP", INR = "INR", IQD = "IQD", IRR = "IRR", ISK = "ISK", JEP = "JEP", JMD = "JMD", JOD = "JOD", JPY = "JPY", KES = "KES", KGS = "KGS", KHR = "KHR", KMF = "KMF", KPW = "KPW", KRW = "KRW", KWD = "KWD", KYD = "KYD", KZT = "KZT", LAK = "LAK", LBP = "LBP", LKR = "LKR", LRD = "LRD", LSL = "LSL", LYD = "LYD", MAD = "MAD", MDL = "MDL", MGA = "MGA", MKD = "MKD", MMK = "MMK", MNT = "MNT", MOP = "MOP", MRO = "MRO", MUR = "MUR", MVR = "MVR", MWK = "MWK", MXN = "MXN", MYR = "MYR", MZN = "MZN", NAD = "NAD", NGN = "NGN", NIO = "NIO", NOK = "NOK", NPR = "NPR", NZD = "NZD", OMR = "OMR", PAB = "PAB", PEN = "PEN", PGK = "PGK", PHP = "PHP", PKR = "PKR", PLN = "PLN", PYG = "PYG", QAR = "QAR", RON = "RON", RSD = "RSD", RUB = "RUB", RWF = "RWF", SAR = "SAR", SBD = "SBD", SCR = "SCR", SDG = "SDG", SEK = "SEK", SGD = "SGD", SHP = "SHP", SLL = "SLL", SOS = "SOS", SPL = "SPL", SRD = "SRD", STD = "STD", SVC = "SVC", SYP = "SYP", SZL = "SZL", THB = "THB", TJS = "TJS", TMT = "TMT", TND = "TND", TOP = "TOP", TRY = "TRY", TTD = "TTD", TVD = "TVD", TWD = "TWD", TZS = "TZS", UAH = "UAH", UGX = "UGX", USD = "USD", UYU = "UYU", UZS = "UZS", VEF = "VEF", VND = "VND", VUV = "VUV", WST = "WST", XAF = "XAF", XCD = "XCD", XDR = "XDR", XOF = "XOF", XPF = "XPF", YER = "YER", ZAR = "ZAR", ZMW = "ZMW", ZWD = "ZWD" }