declare module "api/hubrise/model/order/HubriseOrderStatus" { export enum HubriseOrderStatus { new = "new", received = "received", accepted = "accepted", in_preparation = "in_preparation", awaiting_shipment = "awaiting_shipment", awaiting_collection = "awaiting_collection", in_delivery = "in_delivery", completed = "completed", rejected = "rejected", cancelled = "cancelled", delivery_failed = "delivery_failed" } } declare module "api/hubrise/model/address/HubriseCountryCode" { export enum HubriseCountryCode { AF = "AF", AL = "AL", DZ = "DZ", AD = "AD", AO = "AO", AG = "AG", AR = "AR", AM = "AM", AU = "AU", AT = "AT", AZ = "AZ", BS = "BS", BH = "BH", BD = "BD", BB = "BB", BY = "BY", BE = "BE", BZ = "BZ", BJ = "BJ", BT = "BT", BO = "BO", BA = "BA", BW = "BW", BR = "BR", BN = "BN", BG = "BG", BF = "BF", BI = "BI", CV = "CV", KH = "KH", CM = "CM", CA = "CA", CF = "CF", TD = "TD", CL = "CL", CN = "CN", CO = "CO", KM = "KM", CG = "CG", CD = "CD", CR = "CR", CI = "CI", HR = "HR", CU = "CU", CY = "CY", CZ = "CZ", DK = "DK", DJ = "DJ", DM = "DM", DO = "DO", TL = "TL", EC = "EC", EG = "EG", SV = "SV", GQ = "GQ", ER = "ER", EE = "EE", SZ = "SZ", ET = "ET", FJ = "FJ", FI = "FI", FR = "FR", GA = "GA", GM = "GM", GE = "GE", DE = "DE", GH = "GH", GR = "GR", GD = "GD", GT = "GT", GN = "GN", GW = "GW", GY = "GY", HT = "HT", VA = "VA", HN = "HN", HU = "HU", IS = "IS", IN = "IN", ID = "ID", IR = "IR", IQ = "IQ", IE = "IE", IL = "IL", IT = "IT", JM = "JM", JP = "JP", JO = "JO", KZ = "KZ", KE = "KE", KI = "KI", XK = "XK", KW = "KW", KG = "KG", LA = "LA", LV = "LV", LB = "LB", LS = "LS", LR = "LR", LY = "LY", LI = "LI", LT = "LT", LU = "LU", MG = "MG", MW = "MW", MY = "MY", MV = "MV", ML = "ML", MT = "MT", MH = "MH", MR = "MR", MU = "MU", MX = "MX", FM = "FM", MD = "MD", MC = "MC", MN = "MN", ME = "ME", MA = "MA", MZ = "MZ", MM = "MM", NA = "NA", NR = "NR", NP = "NP", NL = "NL", NZ = "NZ", NI = "NI", NE = "NE", NG = "NG", KP = "KP", MK = "MK", NO = "NO", OM = "OM", PK = "PK", PW = "PW", PS = "PS", PA = "PA", PG = "PG", PY = "PY", PE = "PE", PH = "PH", PL = "PL", PT = "PT", QA = "QA", RO = "RO", RU = "RU", RW = "RW", KN = "KN", LC = "LC", VC = "VC", WS = "WS", SM = "SM", ST = "ST", SA = "SA", SN = "SN", RS = "RS", SC = "SC", SL = "SL", SG = "SG", SK = "SK", SI = "SI", SB = "SB", SO = "SO", ZA = "ZA", KR = "KR", SS = "SS", ES = "ES", LK = "LK", SD = "SD", SR = "SR", SE = "SE", CH = "CH", SY = "SY", TW = "TW", TJ = "TJ", TZ = "TZ", TH = "TH", TG = "TG", TO = "TO", TT = "TT", TN = "TN", TR = "TR", TM = "TM", TV = "TV", UG = "UG", UA = "UA", AE = "AE", GB = "GB", US = "US", UY = "UY", UZ = "UZ", VU = "VU", VE = "VE", VN = "VN", YE = "YE", ZM = "ZM", ZW = "ZW" } } declare module "api/hubrise/model/address/HubriseAddressContract" { import { HubriseCountryCode } from "api/hubrise/model/address/HubriseCountryCode"; export interface HubriseAddressContract { id?: string; address_1?: string; address_2?: string; postal_code?: string; city?: string; state?: string; country?: HubriseCountryCode; latitude?: string; longitude?: string; } } declare module "api/hubrise/model/common/HubriseCustomFieldsContract" { export interface HubriseCustomFieldsContract { [key: string]: number | string; } } declare module "api/hubrise/model/customer/HubriseCustomerContract" { import { HubriseAddressContract } from "api/hubrise/model/address/HubriseAddressContract"; import { HubriseCustomFieldsContract } from "api/hubrise/model/common/HubriseCustomFieldsContract"; export interface HubriseCustomerContract extends HubriseAddressContract { id?: string; customer_list_id?: string; anonymised?: boolean; private_ref?: string; first_name?: string; last_name?: string; gender?: string; birth_date?: string; company_name?: string; email?: string; phone?: string; phone_access_code?: string; delivery_notes?: string; sms_marketing?: boolean; email_marketing?: boolean; nb_orders?: number; order_total?: string; loyalty_cards?: { id: string; ref: string; name: string; balance: string; }[]; custom_fields?: HubriseCustomFieldsContract; created_at?: string; first_order_date?: string; last_order_date?: string; } } declare module "api/hubrise/model/order/HubriseOrderOptionContract" { export interface HubriseOrderOptionContract { id?: string; ref?: string; option_list_name: string; name: string; quantity: number; price?: string; removed?: boolean; } } declare module "api/hubrise/model/order/HubriseOrderItemContract" { import { HubriseOrderOptionContract } from "api/hubrise/model/order/HubriseOrderOptionContract"; export interface HubriseOrderItemContract { id?: string; private_ref?: string; sku_ref?: string; sku_name?: string; product_name: string; quantity: string; price?: string; subtotal?: string; tax_rate?: string; customer_notes?: string; points_earned?: string; points_used?: string; options?: HubriseOrderOptionContract[]; deleted?: boolean; } } declare module "api/hubrise/model/order/HubriseOrderLoyaltyOperationContract" { export interface HubriseOrderLoyaltyOperationContract { ref?: string; delta: string; reason?: string; } } declare module "api/hubrise/model/order/HubriseOrderChargeContract" { export interface HubriseOrderChargeContract { private_ref?: string; type: 'delivery' | 'other'; name: string; ref?: string; price: string; tax_rate?: string; deleted?: boolean; } } declare module "api/hubrise/model/order/HubriseOrderPaymentContract" { export interface HubriseOrderPaymentContract { id?: string; private_ref?: string; name?: string; ref?: 'cash' | 'online'; amount: string; info?: Record; deleted?: boolean; } } declare module "api/hubrise/model/order/HubriseOrderDiscountContract" { export interface HubriseOrderDiscountContract { private_ref?: string; name: string; ref?: string; pricing_effect?: 'unchanged' | 'fixed_price' | 'price_off' | 'percentage_off'; price_off: string; pricing_value?: string; deleted?: boolean; } } declare module "api/hubrise/model/order/HubriseOrderDealContract" { export interface HubriseOrderDealContract { ref?: string; name: string; } } declare module "api/hubrise/model/order/HubriseServiceType" { export enum HubriseServiceType { DELIVERY = "delivery", COLLECTION = "collection",// = pickup EAT_IN = "eat_in" } } declare module "api/hubrise/model/order/HubriseOrderContract" { import { HubriseOrderStatus } from "api/hubrise/model/order/HubriseOrderStatus"; import { HubriseCustomerContract } from "api/hubrise/model/customer/HubriseCustomerContract"; import { HubriseOrderItemContract } from "api/hubrise/model/order/HubriseOrderItemContract"; import { HubriseOrderLoyaltyOperationContract } from "api/hubrise/model/order/HubriseOrderLoyaltyOperationContract"; import { HubriseOrderChargeContract } from "api/hubrise/model/order/HubriseOrderChargeContract"; import { HubriseOrderPaymentContract } from "api/hubrise/model/order/HubriseOrderPaymentContract"; import { HubriseOrderDiscountContract } from "api/hubrise/model/order/HubriseOrderDiscountContract"; import { HubriseOrderDealContract } from "api/hubrise/model/order/HubriseOrderDealContract"; import { HubriseServiceType } from "api/hubrise/model/order/HubriseServiceType"; export interface HubriseOrderContract { id?: string; location_id?: string; ref?: string; private_ref?: string; status: HubriseOrderStatus; service_type?: HubriseServiceType; service_type_ref?: string; channel?: string; expected_time?: string; expected_time_pickup?: boolean; confirmed_time?: string; asap?: boolean; customer_id?: string; customer_list_id?: string; customer_private_ref?: string; customer?: HubriseCustomerContract; customer_notes?: string; seller_notes?: string; coupon_codes?: string[]; collection_code?: string; total?: string; custom_fields?: Record; items?: HubriseOrderItemContract[]; loyalty_operations?: HubriseOrderLoyaltyOperationContract[]; charges?: HubriseOrderChargeContract[]; payments?: HubriseOrderPaymentContract[]; discounts?: HubriseOrderDiscountContract[]; deals?: HubriseOrderDealContract[]; created_at?: string; created_by?: string; } } declare module "api/hubrise/model/menu/HubriseMenuCategoryContract" { export interface HubriseMenuCategoryContract { id: string; ref: string; parent_ref?: string; name: string; description?: string; tags: string[]; image_ids: string[]; } } declare module "api/hubrise/model/menu/HubriseMenuRestrictionsContract" { export interface HubriseMenuRestrictionsContract { variant_refs?: string[]; dow?: string; start_time?: string; end_time?: string; start_date?: string; end_date?: string; min_order_amount?: string; max_per_order?: string; max_per_customer?: string; enabled?: boolean; } } declare module "api/hubrise/model/menu/HubriseMenuPriceOverrideContract" { import { HubriseMenuRestrictionsContract } from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; export interface HubriseMenuPriceOverrideContract extends HubriseMenuRestrictionsContract { min_order_amount: never; max_per_order: never; max_per_customer: never; enabled: never; price: string; } } declare module "api/hubrise/model/menu/HubriseMenuSkuContract" { import { HubriseMenuRestrictionsContract } from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; import { HubriseMenuPriceOverrideContract } from "api/hubrise/model/menu/HubriseMenuPriceOverrideContract"; export interface HubriseMenuSkuContract { id: string; ref?: string; name?: string; restrictions?: HubriseMenuRestrictionsContract; price: string; price_overrides: HubriseMenuPriceOverrideContract[]; option_list_ids?: string[]; tags?: string[]; } } declare module "api/hubrise/model/menu/HubriseMenuProductContract" { import { HubriseMenuSkuContract } from "api/hubrise/model/menu/HubriseMenuSkuContract"; export interface HubriseMenuProductContract { id: string; ref?: string; category_id: string; name: string; description?: string; tags?: string[]; image_ids: string[]; skus: HubriseMenuSkuContract[]; tax_rate: { delivery?: string; collection?: string; eat_in?: string; }; } } declare module "api/hubrise/model/menu/HubriseMenuProductOptionContract" { import { HubriseMenuPriceOverrideContract } from "api/hubrise/model/menu/HubriseMenuPriceOverrideContract"; import { HubriseMenuRestrictionsContract } from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; export interface HubriseMenuProductOptionContract { id: string; ref?: string; name: string; restrictions?: HubriseMenuRestrictionsContract; price: string; price_overrides: HubriseMenuPriceOverrideContract[]; default?: boolean; tags?: string[]; } } declare module "api/hubrise/model/menu/HubriseMenuProductOptionListContract" { import { HubriseMenuProductOptionContract } from "api/hubrise/model/menu/HubriseMenuProductOptionContract"; export interface HubriseMenuProductOptionListContract { id: string; ref: string; name: string; min_selections?: number; max_selections?: number; tags?: string[]; options: HubriseMenuProductOptionContract[]; } } declare module "api/hubrise/model/menu/HubriseMenuDealLineContract" { export interface HubriseMenuDealLineContract { skus?: { ref: string; extra_charge?: string; }; pricing_effect: 'unchanged' | 'fixed_price' | 'price_off' | 'percentage_off'; pricing_value?: string; label?: string; } } declare module "api/hubrise/model/menu/HubriseMenuDealContract" { import { HubriseMenuRestrictionsContract } from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; import { HubriseMenuDealLineContract } from "api/hubrise/model/menu/HubriseMenuDealLineContract"; export interface HubriseMenuDealContract { ref?: string; category_ref?: string; name: string; description?: string; restrictions?: HubriseMenuRestrictionsContract; coupon_codes?: string[]; tags?: string[]; image_ids?: string[]; lines: HubriseMenuDealLineContract[]; } } declare module "api/hubrise/model/menu/HubriseMenuDiscountContract" { import { HubriseMenuRestrictionsContract } from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; export interface HubriseMenuDiscountContract { ref?: string; name: string; description?: string; restrictions?: HubriseMenuRestrictionsContract; coupon_codes?: string[]; pricing_effect: 'price_off' | 'percentage_off'; pricing_value?: string; image_ids?: string[]; } } declare module "api/hubrise/model/menu/HubriseMenuChargeContract" { export interface HubriseMenuChargeContract { ref?: string; name: string; type: 'delivery' | 'payment_fee' | 'tip' | 'tax' | 'other'; price?: string; } } declare module "api/hubrise/model/menu/HubriseMenuVariantContract" { export interface HubriseMenuVariantContract { ref: string; name: string; } } declare module "api/hubrise/model/menu/HubriseMenuCatalogContract" { import { HubriseMenuCategoryContract } from "api/hubrise/model/menu/HubriseMenuCategoryContract"; import { HubriseMenuProductContract } from "api/hubrise/model/menu/HubriseMenuProductContract"; import { HubriseMenuProductOptionListContract } from "api/hubrise/model/menu/HubriseMenuProductOptionListContract"; import { HubriseMenuDealContract } from "api/hubrise/model/menu/HubriseMenuDealContract"; import { HubriseMenuDiscountContract } from "api/hubrise/model/menu/HubriseMenuDiscountContract"; import { HubriseMenuChargeContract } from "api/hubrise/model/menu/HubriseMenuChargeContract"; import { HubriseMenuVariantContract } from "api/hubrise/model/menu/HubriseMenuVariantContract"; export interface HubriseMenuCatalogContract { id: string; location_id?: string; name: string; created_at?: string; data: { variants?: HubriseMenuVariantContract[]; categories?: HubriseMenuCategoryContract[]; products?: HubriseMenuProductContract[]; option_lists?: HubriseMenuProductOptionListContract[]; deals?: HubriseMenuDealContract[]; discounts?: HubriseMenuDiscountContract[]; charges?: HubriseMenuChargeContract[]; }; } } declare module "api/hubrise/model/customer/HubriseCustomerListContract" { export interface HubriseCustomerListContract { id: string; name: string; created_at: string; } } declare module "api/hubrise/model/location/HubriseOpeningHoursContract" { export interface HubriseOpeningHoursContract { monday?: { from: string; to: string; }[]; tuesday?: { from: string; to: string; }[]; wednesday?: { from: string; to: string; }[]; thursday?: { from: string; to: string; }[]; friday?: { from: string; to: string; }[]; saturday?: { from: string; to: string; }[]; sunday?: { from: string; to: string; }[]; } } declare module "api/hubrise/model/common/HubriseCurrencyCode" { export enum HubriseCurrencyCode { AED = "AED",// UAE Dirham AFN = "AFN",// Afghani ALL = "ALL",// Lek AMD = "AMD",// Armenian Dram ANG = "ANG",// Netherlands Antillean Guilder AOA = "AOA",// Kwanza ARS = "ARS",// Argentine Peso AUD = "AUD",// Australian Dollar AWG = "AWG",// Aruban Florin AZN = "AZN",// Azerbaijanian Manat BAM = "BAM",// Convertible Mark BBD = "BBD",// Barbados Dollar BDT = "BDT",// Taka BGN = "BGN",// Bulgarian Lev BHD = "BHD",// Bahraini Dinar BIF = "BIF",// Burundi Franc BMD = "BMD",// Bermudian Dollar BND = "BND",// Brunei Dollar BOB = "BOB",// Boliviano BOV = "BOV",// Mvdol BRL = "BRL",// Brazilian Real BSD = "BSD",// Bahamian Dollar BTN = "BTN",// Ngultrum BWP = "BWP",// Pula BYN = "BYN",// Belarussian Ruble BZD = "BZD",// Belize Dollar CAD = "CAD",// Canadian Dollar CDF = "CDF",// Congolese Franc CHE = "CHE",// WIR Euro CHF = "CHF",// Swiss Franc CHW = "CHW",// WIR Franc CLF = "CLF",// Unidad de Fomento CLP = "CLP",// Chilean Peso CNY = "CNY",// Yuan Renminbi COP = "COP",// Colombian Peso COU = "COU",// Unidad de Valor Real CRC = "CRC",// Costa Rican Colon CUC = "CUC",// Peso Convertible CUP = "CUP",// Cuban Peso CVE = "CVE",// Cabo Verde Escudo CZK = "CZK",// Czech Koruna DJF = "DJF",// Djibouti Franc DKK = "DKK",// Danish Krone DOP = "DOP",// Dominican Peso DZD = "DZD",// Algerian Dinar EGP = "EGP",// Egyptian Pound ERN = "ERN",// Nakfa ETB = "ETB",// Ethiopian Birr EUR = "EUR",// Euro FJD = "FJD",// Fiji Dollar FKP = "FKP",// Falkland Islands Pound GBP = "GBP",// Pound Sterling GEL = "GEL",// Lari GHS = "GHS",// Ghana Cedi GIP = "GIP",// Gibraltar Pound GMD = "GMD",// Dalasi GNF = "GNF",// Guinea Franc GTQ = "GTQ",// Quetzal GYD = "GYD",// Guyana Dollar HKD = "HKD",// Hong Kong Dollar HNL = "HNL",// Lempira HRK = "HRK",// Croatian Kuna HTG = "HTG",// Gourde HUF = "HUF",// Forint IDR = "IDR",// Rupiah ILS = "ILS",// New Israeli Sheqel INR = "INR",// Indian Rupee IQD = "IQD",// Iraqi Dinar IRR = "IRR",// Iranian Rial ISK = "ISK",// Iceland Krona JMD = "JMD",// Jamaican Dollar JOD = "JOD",// Jordanian Dinar JPY = "JPY",// Yen KES = "KES",// Kenyan Shilling KGS = "KGS",// Som KHR = "KHR",// Riel KMF = "KMF",// Comoro Franc KPW = "KPW",// North Korean Won KRW = "KRW",// Won KWD = "KWD",// Kuwaiti Dinar KYD = "KYD",// Cayman Islands Dollar KZT = "KZT",// Tenge LAK = "LAK",// Kip LBP = "LBP",// Lebanese Pound LKR = "LKR",// Sri Lanka Rupee LRD = "LRD",// Liberian Dollar LSL = "LSL",// Loti LYD = "LYD",// Libyan Dinar MAD = "MAD",// Moroccan Dirham MDL = "MDL",// Moldovan Leu MGA = "MGA",// Malagasy Ariary MKD = "MKD",// Denar MMK = "MMK",// Kyat MNT = "MNT",// Tugrik MOP = "MOP",// Pataca MRU = "MRU",// Ouguiya MUR = "MUR",// Mauritius Rupee MVR = "MVR",// Rufiyaa MWK = "MWK",// Kwacha MXN = "MXN",// Mexican Peso MXV = "MXV",// Mexican Unidad de Inversion (UDI) MYR = "MYR",// Malaysian Ringgit MZN = "MZN",// Mozambique Metical NAD = "NAD",// Namibia Dollar NGN = "NGN",// Naira NIO = "NIO",// Cordoba Oro NOK = "NOK",// Norwegian Krone NPR = "NPR",// Nepalese Rupee NZD = "NZD",// New Zealand Dollar OMR = "OMR",// Rial Omani PAB = "PAB",// Balboa PEN = "PEN",// Nuevo Sol PGK = "PGK",// Kina PHP = "PHP",// Philippine Peso PKR = "PKR",// Pakistan Rupee PLN = "PLN",// Zloty PYG = "PYG",// Guarani QAR = "QAR",// Qatari Rial RON = "RON",// Romanian Leu RSD = "RSD",// Serbian Dinar RUB = "RUB",// Russian Ruble RWF = "RWF",// Rwanda Franc SAR = "SAR",// Saudi Riyal SBD = "SBD",// Solomon Islands Dollar SCR = "SCR",// Seychelles Rupee SDG = "SDG",// Sudanese Pound SEK = "SEK",// Swedish Krona SGD = "SGD",// Singapore Dollar SHP = "SHP",// Saint Helena Pound SLE = "SLE",// Leone SOS = "SOS",// Somali Shilling SRD = "SRD",// Surinam Dollar SSP = "SSP",// South Sudanese Pound STN = "STN",// Dobra SVC = "SVC",// El Salvador Colon SYP = "SYP",// Syrian Pound SZL = "SZL",// Lilangeni THB = "THB",// Baht TJS = "TJS",// Somoni TMT = "TMT",// Turkmenistan New Manat TND = "TND",// Tunisian Dinar TOP = "TOP",// Pa'anga TRY = "TRY",// Turkish Lira TTD = "TTD",// Trinidad and Tobago Dollar TWD = "TWD",// New Taiwan Dollar TZS = "TZS",// Tanzanian Shilling UAH = "UAH",// Hryvnia UGX = "UGX",// Uganda Shilling USD = "USD",// US Dollar USN = "USN",// US Dollar (Next day) UYI = "UYI",// Uruguay Peso en Unidades Indexadas UYU = "UYU",// Peso Uruguayo UZS = "UZS",// Uzbekistan Sum VED = "VED",// Bolivar VEF = "VEF",// Bolivar VND = "VND",// Dong VUV = "VUV",// Vatu WST = "WST",// Tala XAF = "XAF",// CFA Franc BEAC XCD = "XCD",// East Caribbean Dollar XDR = "XDR",// SDR (Special Drawing Right) XOF = "XOF",// CFA Franc BCEAO XPF = "XPF",// CFP Franc XSU = "XSU",// Sucre XUA = "XUA",// ADB Unit of Account YER = "YER",// Yemeni Rial ZAR = "ZAR",// Rand ZMW = "ZMW",// Zambian Kwacha ZWL = "ZWL" } } declare module "api/hubrise/model/account/HubriseAccountContract" { import { HubriseCurrencyCode } from "api/hubrise/model/common/HubriseCurrencyCode"; export interface HubriseAccountContract { id: string; name: string; currency: HubriseCurrencyCode; } } declare module "api/hubrise/model/common/HubriseTimezoneId" { export enum HubriseTimezoneId { Africa_Abidjan = "Africa/Abidjan", Africa_Algiers = "Africa/Algiers", Africa_Bissau = "Africa/Bissau", Africa_Cairo = "Africa/Cairo", Africa_Casablanca = "Africa/Casablanca", Africa_Ceuta = "Africa/Ceuta", Africa_El_Aaiun = "Africa/El_Aaiun", Africa_Johannesburg = "Africa/Johannesburg", Africa_Juba = "Africa/Juba", Africa_Khartoum = "Africa/Khartoum", Africa_Lagos = "Africa/Lagos", Africa_Maputo = "Africa/Maputo", Africa_Monrovia = "Africa/Monrovia", Africa_Nairobi = "Africa/Nairobi", Africa_Ndjamena = "Africa/Ndjamena", Africa_Sao_Tome = "Africa/Sao_Tome", Africa_Tripoli = "Africa/Tripoli", Africa_Tunis = "Africa/Tunis", Africa_Windhoek = "Africa/Windhoek", America_Adak = "America/Adak", America_Anchorage = "America/Anchorage", America_Araguaina = "America/Araguaina", America_Argentina_Buenos_Aires = "America/Argentina/Buenos_Aires", America_Argentina_Catamarca = "America/Argentina/Catamarca", America_Argentina_Cordoba = "America/Argentina/Cordoba", America_Argentina_Jujuy = "America/Argentina/Jujuy", America_Argentina_La_Rioja = "America/Argentina/La_Rioja", America_Argentina_Mendoza = "America/Argentina/Mendoza", America_Argentina_Rio_Gallegos = "America/Argentina/Rio_Gallegos", America_Argentina_Salta = "America/Argentina/Salta", America_Argentina_San_Juan = "America/Argentina/San_Juan", America_Argentina_San_Luis = "America/Argentina/San_Luis", America_Argentina_Tucuman = "America/Argentina/Tucuman", America_Argentina_Ushuaia = "America/Argentina/Ushuaia", America_Asuncion = "America/Asuncion", America_Bahia = "America/Bahia", America_Bahia_Banderas = "America/Bahia_Banderas", America_Barbados = "America/Barbados", America_Belem = "America/Belem", America_Belize = "America/Belize", America_Boa_Vista = "America/Boa_Vista", America_Bogota = "America/Bogota", America_Boise = "America/Boise", America_Cambridge_Bay = "America/Cambridge_Bay", America_Campo_Grande = "America/Campo_Grande", America_Cancun = "America/Cancun", America_Caracas = "America/Caracas", America_Cayenne = "America/Cayenne", America_Chicago = "America/Chicago", America_Chihuahua = "America/Chihuahua", America_Ciudad_Juarez = "America/Ciudad_Juarez", America_Costa_Rica = "America/Costa_Rica", America_Coyhaique = "America/Coyhaique", America_Cuiaba = "America/Cuiaba", America_Danmarkshavn = "America/Danmarkshavn", America_Dawson = "America/Dawson", America_Dawson_Creek = "America/Dawson_Creek", America_Denver = "America/Denver", America_Detroit = "America/Detroit", America_Edmonton = "America/Edmonton", America_Eirunepe = "America/Eirunepe", America_El_Salvador = "America/El_Salvador", America_Fort_Nelson = "America/Fort_Nelson", America_Fortaleza = "America/Fortaleza", America_Glace_Bay = "America/Glace_Bay", America_Goose_Bay = "America/Goose_Bay", America_Grand_Turk = "America/Grand_Turk", America_Guatemala = "America/Guatemala", America_Guayaquil = "America/Guayaquil", America_Guyana = "America/Guyana", America_Halifax = "America/Halifax", America_Havana = "America/Havana", America_Hermosillo = "America/Hermosillo", America_Indiana_Indianapolis = "America/Indiana/Indianapolis", America_Indiana_Knox = "America/Indiana/Knox", America_Indiana_Marengo = "America/Indiana/Marengo", America_Indiana_Petersburg = "America/Indiana/Petersburg", America_Indiana_Tell_City = "America/Indiana/Tell_City", America_Indiana_Vevay = "America/Indiana/Vevay", America_Indiana_Vincennes = "America/Indiana/Vincennes", America_Indiana_Winamac = "America/Indiana/Winamac", America_Inuvik = "America/Inuvik", America_Iqaluit = "America/Iqaluit", America_Jamaica = "America/Jamaica", America_Juneau = "America/Juneau", America_Kentucky_Louisville = "America/Kentucky/Louisville", America_Kentucky_Monticello = "America/Kentucky/Monticello", America_La_Paz = "America/La_Paz", America_Lima = "America/Lima", America_Los_Angeles = "America/Los_Angeles", America_Maceio = "America/Maceio", America_Managua = "America/Managua", America_Manaus = "America/Manaus", America_Martinique = "America/Martinique", America_Matamoros = "America/Matamoros", America_Mazatlan = "America/Mazatlan", America_Menominee = "America/Menominee", America_Merida = "America/Merida", America_Metlakatla = "America/Metlakatla", America_Mexico_City = "America/Mexico_City", America_Miquelon = "America/Miquelon", America_Moncton = "America/Moncton", America_Monterrey = "America/Monterrey", America_Montevideo = "America/Montevideo", America_New_York = "America/New_York", America_Nome = "America/Nome", America_Noronha = "America/Noronha", America_North_Dakota_Beulah = "America/North_Dakota/Beulah", America_North_Dakota_Center = "America/North_Dakota/Center", America_North_Dakota_New_Salem = "America/North_Dakota/New_Salem", America_Nuuk = "America/Nuuk", America_Ojinaga = "America/Ojinaga", America_Panama = "America/Panama", America_Paramaribo = "America/Paramaribo", America_Phoenix = "America/Phoenix", America_Port_au_Prince = "America/Port-au-Prince", America_Porto_Velho = "America/Porto_Velho", America_Puerto_Rico = "America/Puerto_Rico", America_Punta_Arenas = "America/Punta_Arenas", America_Rankin_Inlet = "America/Rankin_Inlet", America_Recife = "America/Recife", America_Regina = "America/Regina", America_Resolute = "America/Resolute", America_Rio_Branco = "America/Rio_Branco", America_Santarem = "America/Santarem", America_Santiago = "America/Santiago", America_Santo_Domingo = "America/Santo_Domingo", America_Sao_Paulo = "America/Sao_Paulo", America_Scoresbysund = "America/Scoresbysund", America_Sitka = "America/Sitka", America_St_Johns = "America/St_Johns", America_Swift_Current = "America/Swift_Current", America_Tegucigalpa = "America/Tegucigalpa", America_Thule = "America/Thule", America_Tijuana = "America/Tijuana", America_Toronto = "America/Toronto", America_Vancouver = "America/Vancouver", America_Whitehorse = "America/Whitehorse", America_Winnipeg = "America/Winnipeg", America_Yakutat = "America/Yakutat", Antarctica_Casey = "Antarctica/Casey", Antarctica_Davis = "Antarctica/Davis", Antarctica_Macquarie = "Antarctica/Macquarie", Antarctica_Mawson = "Antarctica/Mawson", Antarctica_Palmer = "Antarctica/Palmer", Antarctica_Rothera = "Antarctica/Rothera", Antarctica_Troll = "Antarctica/Troll", Antarctica_Vostok = "Antarctica/Vostok", Asia_Almaty = "Asia/Almaty", Asia_Amman = "Asia/Amman", Asia_Anadyr = "Asia/Anadyr", Asia_Aqtau = "Asia/Aqtau", Asia_Aqtobe = "Asia/Aqtobe", Asia_Ashgabat = "Asia/Ashgabat", Asia_Atyrau = "Asia/Atyrau", Asia_Baghdad = "Asia/Baghdad", Asia_Baku = "Asia/Baku", Asia_Bangkok = "Asia/Bangkok", Asia_Barnaul = "Asia/Barnaul", Asia_Beirut = "Asia/Beirut", Asia_Bishkek = "Asia/Bishkek", Asia_Chita = "Asia/Chita", Asia_Colombo = "Asia/Colombo", Asia_Damascus = "Asia/Damascus", Asia_Dhaka = "Asia/Dhaka", Asia_Dili = "Asia/Dili", Asia_Dubai = "Asia/Dubai", Asia_Dushanbe = "Asia/Dushanbe", Asia_Famagusta = "Asia/Famagusta", Asia_Gaza = "Asia/Gaza", Asia_Hebron = "Asia/Hebron", Asia_Ho_Chi_Minh = "Asia/Ho_Chi_Minh", Asia_Hong_Kong = "Asia/Hong_Kong", Asia_Hovd = "Asia/Hovd", Asia_Irkutsk = "Asia/Irkutsk", Asia_Jakarta = "Asia/Jakarta", Asia_Jayapura = "Asia/Jayapura", Asia_Jerusalem = "Asia/Jerusalem", Asia_Kabul = "Asia/Kabul", Asia_Kamchatka = "Asia/Kamchatka", Asia_Karachi = "Asia/Karachi", Asia_Kathmandu = "Asia/Kathmandu", Asia_Khandyga = "Asia/Khandyga", Asia_Kolkata = "Asia/Kolkata", Asia_Krasnoyarsk = "Asia/Krasnoyarsk", Asia_Kuching = "Asia/Kuching", Asia_Macau = "Asia/Macau", Asia_Magadan = "Asia/Magadan", Asia_Makassar = "Asia/Makassar", Asia_Manila = "Asia/Manila", Asia_Nicosia = "Asia/Nicosia", Asia_Novokuznetsk = "Asia/Novokuznetsk", Asia_Novosibirsk = "Asia/Novosibirsk", Asia_Omsk = "Asia/Omsk", Asia_Oral = "Asia/Oral", Asia_Pontianak = "Asia/Pontianak", Asia_Pyongyang = "Asia/Pyongyang", Asia_Qatar = "Asia/Qatar", Asia_Qostanay = "Asia/Qostanay", Asia_Qyzylorda = "Asia/Qyzylorda", Asia_Riyadh = "Asia/Riyadh", Asia_Sakhalin = "Asia/Sakhalin", Asia_Samarkand = "Asia/Samarkand", Asia_Seoul = "Asia/Seoul", Asia_Shanghai = "Asia/Shanghai", Asia_Singapore = "Asia/Singapore", Asia_Srednekolymsk = "Asia/Srednekolymsk", Asia_Taipei = "Asia/Taipei", Asia_Tashkent = "Asia/Tashkent", Asia_Tbilisi = "Asia/Tbilisi", Asia_Tehran = "Asia/Tehran", Asia_Thimphu = "Asia/Thimphu", Asia_Tokyo = "Asia/Tokyo", Asia_Tomsk = "Asia/Tomsk", Asia_Ulaanbaatar = "Asia/Ulaanbaatar", Asia_Urumqi = "Asia/Urumqi", Asia_Ust_Nera = "Asia/Ust-Nera", Asia_Vladivostok = "Asia/Vladivostok", Asia_Yakutsk = "Asia/Yakutsk", Asia_Yangon = "Asia/Yangon", Asia_Yekaterinburg = "Asia/Yekaterinburg", Asia_Yerevan = "Asia/Yerevan", Atlantic_Azores = "Atlantic/Azores", Atlantic_Bermuda = "Atlantic/Bermuda", Atlantic_Canary = "Atlantic/Canary", Atlantic_Cape_Verde = "Atlantic/Cape_Verde", Atlantic_Faroe = "Atlantic/Faroe", Atlantic_Madeira = "Atlantic/Madeira", Atlantic_South_Georgia = "Atlantic/South_Georgia", Atlantic_Stanley = "Atlantic/Stanley", Australia_Adelaide = "Australia/Adelaide", Australia_Brisbane = "Australia/Brisbane", Australia_Broken_Hill = "Australia/Broken_Hill", Australia_Darwin = "Australia/Darwin", Australia_Eucla = "Australia/Eucla", Australia_Hobart = "Australia/Hobart", Australia_Lindeman = "Australia/Lindeman", Australia_Lord_Howe = "Australia/Lord_Howe", Australia_Melbourne = "Australia/Melbourne", Australia_Perth = "Australia/Perth", Australia_Sydney = "Australia/Sydney", Etc_GMT = "Etc/GMT", Etc_GMT_Minus_1 = "Etc/GMT-1", Etc_GMT_Minus_10 = "Etc/GMT-10", Etc_GMT_Minus_11 = "Etc/GMT-11", Etc_GMT_Minus_12 = "Etc/GMT-12", Etc_GMT_Minus_13 = "Etc/GMT-13", Etc_GMT_Minus_14 = "Etc/GMT-14", Etc_GMT_Minus_2 = "Etc/GMT-2", Etc_GMT_Minus_3 = "Etc/GMT-3", Etc_GMT_Minus_4 = "Etc/GMT-4", Etc_GMT_Minus_5 = "Etc/GMT-5", Etc_GMT_Minus_6 = "Etc/GMT-6", Etc_GMT_Minus_7 = "Etc/GMT-7", Etc_GMT_Minus_8 = "Etc/GMT-8", Etc_GMT_Minus_9 = "Etc/GMT-9", Etc_GMT_Plus_1 = "Etc/GMT+1", Etc_GMT_Plus_10 = "Etc/GMT+10", Etc_GMT_Plus_11 = "Etc/GMT+11", Etc_GMT_Plus_12 = "Etc/GMT+12", Etc_GMT_Plus_2 = "Etc/GMT+2", Etc_GMT_Plus_3 = "Etc/GMT+3", Etc_GMT_Plus_4 = "Etc/GMT+4", Etc_GMT_Plus_5 = "Etc/GMT+5", Etc_GMT_Plus_6 = "Etc/GMT+6", Etc_GMT_Plus_7 = "Etc/GMT+7", Etc_GMT_Plus_8 = "Etc/GMT+8", Etc_GMT_Plus_9 = "Etc/GMT+9", Etc_UTC = "Etc/UTC", Europe_Andorra = "Europe/Andorra", Europe_Astrakhan = "Europe/Astrakhan", Europe_Athens = "Europe/Athens", Europe_Belgrade = "Europe/Belgrade", Europe_Berlin = "Europe/Berlin", Europe_Brussels = "Europe/Brussels", Europe_Bucharest = "Europe/Bucharest", Europe_Budapest = "Europe/Budapest", Europe_Chisinau = "Europe/Chisinau", Europe_Dublin = "Europe/Dublin", Europe_Gibraltar = "Europe/Gibraltar", Europe_Helsinki = "Europe/Helsinki", Europe_Istanbul = "Europe/Istanbul", Europe_Kaliningrad = "Europe/Kaliningrad", Europe_Kirov = "Europe/Kirov", Europe_Kyiv = "Europe/Kyiv", Europe_Lisbon = "Europe/Lisbon", Europe_London = "Europe/London", Europe_Madrid = "Europe/Madrid", Europe_Malta = "Europe/Malta", Europe_Minsk = "Europe/Minsk", Europe_Moscow = "Europe/Moscow", Europe_Paris = "Europe/Paris", Europe_Prague = "Europe/Prague", Europe_Riga = "Europe/Riga", Europe_Rome = "Europe/Rome", Europe_Samara = "Europe/Samara", Europe_Saratov = "Europe/Saratov", Europe_Simferopol = "Europe/Simferopol", Europe_Sofia = "Europe/Sofia", Europe_Tallinn = "Europe/Tallinn", Europe_Tirane = "Europe/Tirane", Europe_Ulyanovsk = "Europe/Ulyanovsk", Europe_Vienna = "Europe/Vienna", Europe_Vilnius = "Europe/Vilnius", Europe_Volgograd = "Europe/Volgograd", Europe_Warsaw = "Europe/Warsaw", Europe_Zurich = "Europe/Zurich", Indian_Chagos = "Indian/Chagos", Indian_Maldives = "Indian/Maldives", Indian_Mauritius = "Indian/Mauritius", Pacific_Apia = "Pacific/Apia", Pacific_Auckland = "Pacific/Auckland", Pacific_Bougainville = "Pacific/Bougainville", Pacific_Chatham = "Pacific/Chatham", Pacific_Easter = "Pacific/Easter", Pacific_Efate = "Pacific/Efate", Pacific_Fakaofo = "Pacific/Fakaofo", Pacific_Fiji = "Pacific/Fiji", Pacific_Galapagos = "Pacific/Galapagos", Pacific_Gambier = "Pacific/Gambier", Pacific_Guadalcanal = "Pacific/Guadalcanal", Pacific_Guam = "Pacific/Guam", Pacific_Honolulu = "Pacific/Honolulu", Pacific_Kanton = "Pacific/Kanton", Pacific_Kiritimati = "Pacific/Kiritimati", Pacific_Kosrae = "Pacific/Kosrae", Pacific_Kwajalein = "Pacific/Kwajalein", Pacific_Marquesas = "Pacific/Marquesas", Pacific_Nauru = "Pacific/Nauru", Pacific_Niue = "Pacific/Niue", Pacific_Norfolk = "Pacific/Norfolk", Pacific_Noumea = "Pacific/Noumea", Pacific_Pago_Pago = "Pacific/Pago_Pago", Pacific_Palau = "Pacific/Palau", Pacific_Pitcairn = "Pacific/Pitcairn", Pacific_Port_Moresby = "Pacific/Port_Moresby", Pacific_Rarotonga = "Pacific/Rarotonga", Pacific_Tahiti = "Pacific/Tahiti", Pacific_Tarawa = "Pacific/Tarawa", Pacific_Tongatapu = "Pacific/Tongatapu" } } declare module "api/hubrise/model/common/HubriseTimezoneContract" { import { HubriseTimezoneId } from "api/hubrise/model/common/HubriseTimezoneId"; export interface HubriseTimezoneContract { name: HubriseTimezoneId; offset: number; } } declare module "api/hubrise/model/location/HubriseOrderAcceptanceContract" { export interface HubriseOrderAcceptanceContract { mode: 'normal' | 'busy' | 'paused'; resume_at?: string; extra_preparation_time?: number; reason?: string; } } declare module "api/hubrise/model/location/HubriseLocationContract" { import { HubriseOpeningHoursContract } from "api/hubrise/model/location/HubriseOpeningHoursContract"; import { HubriseAccountContract } from "api/hubrise/model/account/HubriseAccountContract"; import { HubriseTimezoneContract } from "api/hubrise/model/common/HubriseTimezoneContract"; import { HubriseOrderAcceptanceContract } from "api/hubrise/model/location/HubriseOrderAcceptanceContract"; import { HubriseCustomFieldsContract } from "api/hubrise/model/common/HubriseCustomFieldsContract"; import { HubriseCountryCode } from "api/hubrise/model/address/HubriseCountryCode"; export interface HubriseLocationContract { id: string; name: string; account: HubriseAccountContract; address: string; postal_code: string; city: string; country: HubriseCountryCode; timezone: HubriseTimezoneContract; cutoff_time?: string; opening_hours?: HubriseOpeningHoursContract; preparation_time?: number; order_acceptance?: HubriseOrderAcceptanceContract; custom_fields?: HubriseCustomFieldsContract; } } declare module "api/hubrise/model/common/HubriseLocale" { export enum HubriseLocale { EN_US = "en-US",// Anglais (États-Unis) EN_GB = "en-GB",// Anglais (Royaume-Uni) EN_CA = "en-CA",// Anglais (Canada) EN_AU = "en-AU",// Anglais (Australie) EN_NZ = "en-NZ",// Anglais (Nouvelle-Zélande) EN_ZA = "en-ZA",// Anglais (Afrique du Sud) FR_FR = "fr-FR",// Français (France) FR_CA = "fr-CA",// Français (Canada) FR_BE = "fr-BE",// Français (Belgique) FR_CH = "fr-CH",// Français (Suisse) ES_ES = "es-ES",// Espagnol (Espagne) ES_MX = "es-MX",// Espagnol (Mexique) ES_AR = "es-AR",// Espagnol (Argentine) ES_CO = "es-CO",// Espagnol (Colombie) ES_CL = "es-CL",// Espagnol (Chili) DE_DE = "de-DE",// Allemand (Allemagne) DE_AT = "de-AT",// Allemand (Autriche) DE_CH = "de-CH",// Allemand (Suisse) IT_IT = "it-IT",// Italien (Italie) IT_CH = "it-CH",// Italien (Suisse) PT_PT = "pt-PT",// Portugais (Portugal) PT_BR = "pt-BR",// Portugais (Brésil) NL_NL = "nl-NL",// Néerlandais (Pays-Bas) NL_BE = "nl-BE",// Néerlandais (Belgique) SV_SE = "sv-SE",// Suédois (Suède) NO_NO = "no-NO",// Norvégien (Norvège) DA_DK = "da-DK",// Danois (Danemark) FI_FI = "fi-FI",// Finnois (Finlande) IS_IS = "is-IS",// Islandais (Islande) RU_RU = "ru-RU",// Russe (Russie) PL_PL = "pl-PL",// Polonais (Pologne) CS_CZ = "cs-CZ",// Tchèque (République tchèque) SK_SK = "sk-SK",// Slovaque (Slovaquie) HR_HR = "hr-HR",// Croate (Croatie) SR_RS = "sr-RS",// Serbe (Serbie) BG_BG = "bg-BG",// Bulgare (Bulgarie) UK_UA = "uk-UA",// Ukrainien (Ukraine) JA_JP = "ja-JP",// Japonais (Japon) KO_KR = "ko-KR",// Coréen (Corée du Sud) ZH_CN = "zh-CN",// Chinois simplifié (Chine) ZH_TW = "zh-TW",// Chinois traditionnel (Taïwan) ZH_HK = "zh-HK",// Chinois traditionnel (Hong Kong) TH_TH = "th-TH",// Thaï (Thaïlande) VI_VN = "vi-VN",// Vietnamien (Vietnam) ID_ID = "id-ID",// Indonésien (Indonésie) MS_MY = "ms-MY",// Malais (Malaisie) AR_SA = "ar-SA",// Arabe (Arabie saoudite) AR_EG = "ar-EG",// Arabe (Égypte) AR_AE = "ar-AE",// Arabe (Émirats arabes unis) HE_IL = "he-IL",// Hébreu (Israël) FA_IR = "fa-IR",// Persan (Iran) TR_TR = "tr-TR",// Turc (Turquie) HI_IN = "hi-IN",// Hindi (Inde) BN_BD = "bn-BD",// Bengali (Bangladesh) TA_IN = "ta-IN",// Tamoul (Inde) TE_IN = "te-IN",// Telugu (Inde) UR_PK = "ur-PK",// Ourdou (Pakistan) EL_GR = "el-GR",// Grec (Grèce) HU_HU = "hu-HU",// Hongrois (Hongrie) RO_RO = "ro-RO",// Roumain (Roumanie) LT_LT = "lt-LT",// Lituanien (Lituanie) LV_LV = "lv-LV",// Letton (Lettonie) ET_EE = "et-EE",// Estonien (Estonie) SL_SI = "sl-SI",// Slovène (Slovénie) MT_MT = "mt-MT",// Maltais (Malte) SW_KE = "sw-KE",// Swahili (Kenya) AF_ZA = "af-ZA",// Afrikaans (Afrique du Sud) AM_ET = "am-ET" } } declare module "api/hubrise/model/user/HubriseUserContract" { import { HubriseTimezoneContract } from "api/hubrise/model/common/HubriseTimezoneContract"; import { HubriseLocale } from "api/hubrise/model/common/HubriseLocale"; export interface HubriseUserContract { id: string; first_name: string; last_name: string; email: string; timezone: HubriseTimezoneContract; locales: HubriseLocale[]; } } declare module "api/hubrise/model/auth/HubriseAuthContract" { export interface HubriseAuthContract { app_instance_id?: string; access_token: string; token_type: 'Bearer'; account_id: string; account_name: string; user_id: string; location_id: string; location_name: string; catalog_id: string; catalog_name: string; customer_list_id: string; customer_list_name: string; } } declare module "api/hubrise/model/callback/HubriseResourceType" { export enum HubriseResourceType { CATALOG = "catalog", CUSTOMER = "customer", CUSTOMER_LIST = "customer_list", DELIVERY = "delivery", INVENTORY = "inventory", LOCATION = "location", ORDER = "order" } } declare module "api/hubrise/model/callback/HubriseEventType" { export enum HubriseEventType { CREATE = "create", DELETE = "delete", PATCH = "patch", UPDATE = "update" } } declare module "api/hubrise/model/auth/HubriseAuthResource" { export enum HubriseAuthResource { ORDERS = "orders", CUSTOMER_LIST = "customer_list", CATALOG = "catalog", INVENTORY = "inventory", ALL_CUSTOMER_LISTS = "all_customer_lists", ALL_CATALOG_LISTS = "all_catalogs" } } declare module "api/hubrise/model/auth/HubriseRightAccess" { export enum HubriseRightAccess { READ = "read", WRITE = "write" } } declare module "api/hubrise/model/auth/HubriseAccessLevel" { export enum HubriseAccessLevel { ACCOUNT = "account", LOCATION = "location", PROFILE = "profile" } } declare module "api/hubrise/model/callback/HubriseCallbackContract" { import { HubriseResourceType } from "api/hubrise/model/callback/HubriseResourceType"; import { HubriseEventType } from "api/hubrise/model/callback/HubriseEventType"; export interface HubriseCallbackContract { url: string; events: Partial>; } } declare module "api/hubrise/service/HubriseApiContract" { import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseOrderStatus } from "api/hubrise/model/order/HubriseOrderStatus"; import { HubriseMenuCatalogContract } from "api/hubrise/model/menu/HubriseMenuCatalogContract"; import { HubriseCustomerContract } from "api/hubrise/model/customer/HubriseCustomerContract"; import { HubriseCustomerListContract } from "api/hubrise/model/customer/HubriseCustomerListContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; import { HubriseUserContract } from "api/hubrise/model/user/HubriseUserContract"; import { HubriseAuthContract } from "api/hubrise/model/auth/HubriseAuthContract"; import { HubriseResourceType } from "api/hubrise/model/callback/HubriseResourceType"; import { HubriseEventType } from "api/hubrise/model/callback/HubriseEventType"; import { HubriseAuthResource } from "api/hubrise/model/auth/HubriseAuthResource"; import { HubriseRightAccess } from "api/hubrise/model/auth/HubriseRightAccess"; import { HubriseAccountContract } from "api/hubrise/model/account/HubriseAccountContract"; import { HubriseAccessLevel } from "api/hubrise/model/auth/HubriseAccessLevel"; import { HubriseCallbackContract } from "api/hubrise/model/callback/HubriseCallbackContract"; export interface HubriseApiContract { authorize(name: string, clientId: string, redirect: string, accessLevel: HubriseAccessLevel, rights?: Partial>, profile?: boolean, appInstanceId?: string): Promise; getToken(clientId: string, clientSecret: string, code: string): Promise; getUser(): Promise; getAccount(): Promise; getLocations(): Promise; getLocation(hubriseLocationId?: string): Promise; createCustomer(hubriseCustomerListId: string, hubriseCustomer: HubriseCustomerContract): Promise; updateCustomer(hubriseCustomerListId: string, hubriseCustomer: HubriseCustomerContract): Promise; getCustomer(hubriseCustomerListId: string, hubriseCustomerId: string): Promise; getCustomers(hubriseCustomerListId: string, reference?: string, email?: string, phone?: string): Promise; getCustomerLists(hubriseLocationId: string): Promise; createOrder(hubriseLocationId: string, hubriseOrder: HubriseOrderContract): Promise; getOrder(hubriseLocationId: string, hubriseOrderId: string): Promise; getOrders(hubriseLocationId: string, startDate?: string, endDate?: string, status?: HubriseOrderStatus, limit?: number): Promise; setOrderStatus(hubriseLocationId: string, hubriseOrderId: string, status: HubriseOrderStatus): Promise; getCatalog(hubriseCatalogId: string): Promise; getCatalogs(hubriseLocationId: string): Promise; updateWebhooks(url: string, events: Partial>): Promise; getWebhooks(): Promise; deleteWebhooks(): Promise; } } declare module "exception/ExceptionContract" { export interface ExceptionContract { name: string; message: string; code?: number; data?: { [key: string]: any; }; stack?: string; } } declare module "exception/MainException" { import { ExceptionContract } from "exception/ExceptionContract"; export class MainException extends Error implements ExceptionContract { code: number; data: { [key: string]: any; }; constructor(message: string, code?: number, data?: { [key: string]: any; }); } } declare module "exception/ExternalApiException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class ExternalApiException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "tool/Env" { export enum Env { PRODUCTION = "prod", DEVELOPMENT = "dev", TEST = "test" } } declare module "tool/Environment" { import { Env } from "tool/Env"; export class Environment { static getMode(): Env; } } declare module "exception/UnauthorizedException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class UnauthorizedException extends MainException implements ExceptionContract { static readonly ERROR_CODE: number; constructor(message: string, data?: { [key: string]: any; }); } } declare module "util/HelperUtil" { export const isNullOrUndefined: (obj: unknown) => boolean; } declare module "tool/Logger" { import { ExceptionContract } from "exception/ExceptionContract"; import * as express from 'express'; export class Logger { static init(sentryToken: string, app: express.Express): void; static trace(message: string, extra?: any): void; static debug(message: string, extra?: any): void; static info(message: string, extra?: any): void; static warning(error: ExceptionContract, extra?: any): void; static error(error: ExceptionContract, extra?: any): void; } } declare module "tool/Retry" { export class Retry { static request(process: () => Promise, retries: number, logger: (error: Error) => void): Promise; } } declare module "util/ValidatorUtil" { export class ValidatorUtil { static isEmail(email: string): boolean; static isPhone(phone: string): boolean; static isIntMobilePhone(phone: string): boolean; static isNumber(num: string | number): boolean; static isISODate(str: string): boolean; } } declare module "api/hubrise/model/auth/HubriseAccessTokenContract" { import { HubriseAccessLevel } from "api/hubrise/model/auth/HubriseAccessLevel"; export interface HubriseAccessTokenContract { access: HubriseAccessLevel; token: string; } } declare module "exception/BadParameterException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class BadParameterException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "api/hubrise/service/HubriseApi" { import { HubriseApiContract } from "api/hubrise/service/HubriseApiContract"; import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseOrderStatus } from "api/hubrise/model/order/HubriseOrderStatus"; import { HubriseMenuCatalogContract } from "api/hubrise/model/menu/HubriseMenuCatalogContract"; import { HubriseCustomerContract } from "api/hubrise/model/customer/HubriseCustomerContract"; import { HubriseCustomerListContract } from "api/hubrise/model/customer/HubriseCustomerListContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; import { HubriseUserContract } from "api/hubrise/model/user/HubriseUserContract"; import { HubriseAuthContract } from "api/hubrise/model/auth/HubriseAuthContract"; import { HubriseResourceType } from "api/hubrise/model/callback/HubriseResourceType"; import { HubriseEventType } from "api/hubrise/model/callback/HubriseEventType"; import { HubriseAuthResource } from "api/hubrise/model/auth/HubriseAuthResource"; import { HubriseRightAccess } from "api/hubrise/model/auth/HubriseRightAccess"; import { HubriseAccountContract } from "api/hubrise/model/account/HubriseAccountContract"; import { HubriseAccessTokenContract } from "api/hubrise/model/auth/HubriseAccessTokenContract"; import { HubriseAccessLevel } from "api/hubrise/model/auth/HubriseAccessLevel"; import { HubriseCallbackContract } from "api/hubrise/model/callback/HubriseCallbackContract"; export class HubriseApi implements HubriseApiContract { static readonly BASE_URL: string; static readonly BASE_AUTH_URL: string; private static readonly TIMEOUT; private readonly accessToken; constructor(accessToken?: HubriseAccessTokenContract); authorize(name: string, clientId: string, redirect: string, accessLevel: HubriseAccessLevel, rights?: Partial>, profile?: boolean, appInstanceId?: string): Promise; getToken(clientId: string, clientSecret: string, code: string): Promise; getUser(): Promise; getAccount(): Promise; getLocations(): Promise; getLocation(hubriseLocationId?: string): Promise; createCustomer(hubriseCustomerListId: string, hubriseCustomer: HubriseCustomerContract): Promise; updateCustomer(hubriseCustomerListId: string, hubriseCustomer: HubriseCustomerContract): Promise; getCustomer(hubriseCustomerListId: string, hubriseCustomerId: string): Promise; getCustomers(hubriseCustomerListId: string, reference?: string, email?: string, phone?: string): Promise; getCustomerLists(hubriseLocationId: string): Promise; createOrder(hubriseLocationId: string, hubriseOrder: HubriseOrderContract): Promise; getOrder(hubriseLocationId: string, hubriseOrderId: string): Promise; getOrders(hubriseLocationId: string, startDate?: string, endDate?: string, status?: HubriseOrderStatus, limit?: number): Promise; setOrderStatus(hubriseLocationId: string, hubriseOrderId: string, status: HubriseOrderStatus): Promise; getCatalog(hubriseCatalogId: string): Promise; getCatalogs(hubriseLocationId: string): Promise; updateWebhooks(url: string, events: Partial>): Promise; getWebhooks(): Promise; deleteWebhooks(): Promise; } } declare module "api/hubrise/model/common/HubriseLanguageCode" { export enum HubriseLanguageCode { AR = "ar", DE = "de", EN = "en", ES = "es", FR = "fr", PT = "pt" } } declare module "api/hubrise/model/callback/HubriseEventContract" { import { HubriseResourceType } from "api/hubrise/model/callback/HubriseResourceType"; import { HubriseEventType } from "api/hubrise/model/callback/HubriseEventType"; export interface HubriseEventContract { id: string; resource_type: HubriseResourceType; event_type: HubriseEventType; location_id?: string; customer_id?: string; customer_list_id?: string; previous_state: AssetContract; new_state: AssetContract; created_at: string; } } declare module "api/hubrise/model/menu/HubriseMenuImageContract" { export interface HubriseMenuImageContract { id: string; type: string; size: string; md5: string; seconds_before_removal: number; } } declare module "api/hubrise/model/setting/HubriseDeliveryFeeSettingContract" { export interface HubriseDeliveryFeeSettingContract { type: 'radius'; radiuses: { range: [number, number]; amount: number; }[]; } } declare module "api/hubrise/model/setting/HubriseMOVSettingContract" { export interface HubriseMOVSettingContract { strategy: 'supplement'; minimum: number; } } declare module "api/hubrise/model/order/HubriseOrderEditableOptionContract" { export interface HubriseOrderEditableOptionContract { id: string; ref?: string; option_list_name: string; name: string; quantity: number; price: string; } } declare module "api/hubrise/model/order/HubriseOrderEditableItemContract" { import { HubriseOrderEditableOptionContract } from "api/hubrise/model/order/HubriseOrderEditableOptionContract"; export interface HubriseOrderEditableItemContract { id: string; sku_ref?: string; sku_name?: string; category_name?: string; product_name: string; quantity: string; price: string; tax_rate?: { delivery?: string; collection?: string; eat_in?: string; }; customer_notes?: string; options?: HubriseOrderEditableOptionContract[]; } } declare module "api/hubrise/service/ExpectedDateCalculatorContract" { import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; export interface ExpectedDateCalculatorContract { calculateReadyDate(order: HubriseOrderContract, location: HubriseLocationContract): undefined | string; } } declare module "api/hubrise/service/ExpectedDateCalculator" { import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; import { ExpectedDateCalculatorContract } from "api/hubrise/service/ExpectedDateCalculatorContract"; export class ExpectedDateCalculator implements ExpectedDateCalculatorContract { static readonly DEFAULT_PREPARATION_DELAY_IN_MINUTES: number; static readonly DEFAULT_DELIVERY_DELAY_IN_MINUTES: number; calculateReadyDate(order: HubriseOrderContract, location: undefined | HubriseLocationContract): undefined | string; } } declare module "api/hubrise/service/HubriseCatalogConverterContract" { import { HubriseMenuCatalogContract } from "api/hubrise/model/menu/HubriseMenuCatalogContract"; import { HubriseOrderEditableItemContract } from "api/hubrise/model/order/HubriseOrderEditableItemContract"; import { HubriseOrderEditableOptionContract } from "api/hubrise/model/order/HubriseOrderEditableOptionContract"; import { HubriseMenuVariantContract } from "api/hubrise/model/menu/HubriseMenuVariantContract"; export interface HubriseCatalogConverterContract { editableItems(catalog: HubriseMenuCatalogContract, date: string, variant?: HubriseMenuVariantContract): { withRef: HubriseOrderEditableItemContract[]; withName: HubriseOrderEditableItemContract[]; }; editableItemOptions(catalog: HubriseMenuCatalogContract, date: string, variant?: HubriseMenuVariantContract): { withRef: Record; withName: Record; }; } } declare module "util/ObjectUtil" { export class ObjectUtil { static compact(obj: any, options?: { removeEmptyString?: boolean; }): any; static update(source: Record, target: Record): void; } } declare module "api/hubrise/service/HubriseRestrictionEnforcerContract" { import { HubriseMenuVariantContract } from "api/hubrise/model/menu/HubriseMenuVariantContract"; import { HubriseMenuSkuContract } from "api/hubrise/model/menu/HubriseMenuSkuContract"; import { HubriseMenuProductOptionContract } from "api/hubrise/model/menu/HubriseMenuProductOptionContract"; import { HubriseMenuDealContract } from "api/hubrise/model/menu/HubriseMenuDealContract"; import { HubriseMenuDiscountContract } from "api/hubrise/model/menu/HubriseMenuDiscountContract"; import { HubriseMenuPriceOverrideContract } from "api/hubrise/model/menu/HubriseMenuPriceOverrideContract"; export type HubriseObjectRestrictionContract = HubriseMenuSkuContract | HubriseMenuProductOptionContract | HubriseMenuDealContract | HubriseMenuDiscountContract | { restrictions: HubriseMenuPriceOverrideContract; price: string; }; export interface HubriseRestrictionEnforcerContract { filter(list: HubriseObjectRestrictionContract[], date: string, variant?: HubriseMenuVariantContract): ObjectContract[]; } } declare module "api/hubrise/service/HubriseRestrictionEnforcer" { import { HubriseObjectRestrictionContract, HubriseRestrictionEnforcerContract } from "api/hubrise/service/HubriseRestrictionEnforcerContract"; import { HubriseMenuVariantContract } from "api/hubrise/model/menu/HubriseMenuVariantContract"; export class HubriseRestrictionEnforcer implements HubriseRestrictionEnforcerContract { filter(list: HubriseObjectRestrictionContract[], date: string, variant?: HubriseMenuVariantContract): ObjectContract[]; } } declare module "api/hubrise/service/HubriseCatalogConverter" { import { HubriseCatalogConverterContract } from "api/hubrise/service/HubriseCatalogConverterContract"; import { HubriseMenuCatalogContract } from "api/hubrise/model/menu/HubriseMenuCatalogContract"; import { HubriseOrderEditableItemContract } from "api/hubrise/model/order/HubriseOrderEditableItemContract"; import { HubriseOrderEditableOptionContract } from "api/hubrise/model/order/HubriseOrderEditableOptionContract"; import { HubriseMenuVariantContract } from "api/hubrise/model/menu/HubriseMenuVariantContract"; export class HubriseCatalogConverter implements HubriseCatalogConverterContract { private readonly hubriseRestrictionEnforcer; constructor(); editableItems(catalog: HubriseMenuCatalogContract, date: string, variant?: HubriseMenuVariantContract): { withRef: HubriseOrderEditableItemContract[]; withName: HubriseOrderEditableItemContract[]; }; editableItemOptions(catalog: HubriseMenuCatalogContract, date: string, variant?: HubriseMenuVariantContract): { withRef: Record; withName: Record; }; private selectPrice; } } declare module "api/hubrise/service/HubriseOrderConverterContract" { import { HubriseOrderEditableItemContract } from "api/hubrise/model/order/HubriseOrderEditableItemContract"; import { HubriseOrderItemContract } from "api/hubrise/model/order/HubriseOrderItemContract"; import { HubriseServiceType } from "api/hubrise/model/order/HubriseServiceType"; export interface HubriseOrderConverterContract { items(editableItems: HubriseOrderEditableItemContract[], serviceType: HubriseServiceType): HubriseOrderItemContract[]; } } declare module "api/hubrise/service/HubriseOrderConverter" { import { HubriseOrderConverterContract } from "api/hubrise/service/HubriseOrderConverterContract"; import { HubriseOrderItemContract } from "api/hubrise/model/order/HubriseOrderItemContract"; import { HubriseOrderEditableItemContract } from "api/hubrise/model/order/HubriseOrderEditableItemContract"; import { HubriseServiceType } from "api/hubrise/model/order/HubriseServiceType"; export class HubriseOrderConverter implements HubriseOrderConverterContract { items(editableItems: HubriseOrderEditableItemContract[], serviceType: HubriseServiceType): HubriseOrderItemContract[]; } } declare module "api/hubrise/service/TotalHubriseCalculatorContract" { import { HubriseCurrencyCode } from "api/hubrise/model/common/HubriseCurrencyCode"; import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseDeliveryFeeSettingContract } from "api/hubrise/model/setting/HubriseDeliveryFeeSettingContract"; import { HubriseMOVSettingContract } from "api/hubrise/model/setting/HubriseMOVSettingContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; export interface TotalHubriseCalculatorContract { calculateTotals(location: HubriseLocationContract, order: HubriseOrderContract, deliveryFeeSetting: undefined | HubriseDeliveryFeeSettingContract, movSetting: undefined | HubriseMOVSettingContract, defaultCurrency: HubriseCurrencyCode): { subtotal: string; minimumOrderFee?: string; deliveryFee?: string; totalDiscount?: string; total: string; }; } } declare module "util/MathUtil" { export class MathUtil { static sum(values: number[]): number; static avg(values: number[]): number; static applyVariation(value: number, variation: number): number; static median(values: number[]): number; static percentage(part: number, total: number): number; static round(value: number, decimals: number): number; static variation(originalValue: number, newValue: number): number; } } declare module "api/hubrise/util/HubrisePriceUtil" { import { HubriseCurrencyCode } from "api/hubrise/model/common/HubriseCurrencyCode"; export class HubrisePriceUtil { static sum(prices: (undefined | string)[], defaultCurrency?: HubriseCurrencyCode): string; static multiply(price?: string, multiplier?: number): string; static priceToAmount(price: string): { amount: number; currency: HubriseCurrencyCode; }; static amountToPrice(amount: number, currency: HubriseCurrencyCode): string; } } declare module "api/hubrise/service/TotalHubriseCalculator" { import { TotalHubriseCalculatorContract } from "api/hubrise/service/TotalHubriseCalculatorContract"; import { HubriseCurrencyCode } from "api/hubrise/model/common/HubriseCurrencyCode"; import { HubriseOrderContract } from "api/hubrise/model/order/HubriseOrderContract"; import { HubriseMOVSettingContract } from "api/hubrise/model/setting/HubriseMOVSettingContract"; import { HubriseDeliveryFeeSettingContract } from "api/hubrise/model/setting/HubriseDeliveryFeeSettingContract"; import { HubriseLocationContract } from "api/hubrise/model/location/HubriseLocationContract"; export class TotalHubriseCalculator implements TotalHubriseCalculatorContract { calculateTotals(location: undefined | HubriseLocationContract, order: HubriseOrderContract, deliveryFeeSetting: undefined | HubriseDeliveryFeeSettingContract, movSetting: undefined | HubriseMOVSettingContract, defaultCurrency: HubriseCurrencyCode): { subtotal: string; minimumOrderFee?: string; deliveryFee?: string; totalDiscount?: string; total: string; }; private findCurrency; private calculateMinimumOrderFee; private calculateDeliveryFee; } } declare module "api/web" { export * from "api/hubrise/model/account/HubriseAccountContract"; export * from "api/hubrise/model/auth/HubriseAccessLevel"; export * from "api/hubrise/model/auth/HubriseAccessTokenContract"; export * from "api/hubrise/model/auth/HubriseAuthContract"; export * from "api/hubrise/model/auth/HubriseAuthResource"; export * from "api/hubrise/model/auth/HubriseRightAccess"; export * from "api/hubrise/model/address/HubriseAddressContract"; export * from "api/hubrise/model/address/HubriseCountryCode"; export * from "api/hubrise/model/common/HubriseCurrencyCode"; export * from "api/hubrise/model/common/HubriseCustomFieldsContract"; export * from "api/hubrise/model/common/HubriseLanguageCode"; export * from "api/hubrise/model/common/HubriseLocale"; export * from "api/hubrise/model/common/HubriseTimezoneContract"; export * from "api/hubrise/model/common/HubriseTimezoneId"; export * from "api/hubrise/model/callback/HubriseCallbackContract"; export * from "api/hubrise/model/callback/HubriseEventContract"; export * from "api/hubrise/model/callback/HubriseEventType"; export * from "api/hubrise/model/callback/HubriseResourceType"; export * from "api/hubrise/model/customer/HubriseCustomerContract"; export * from "api/hubrise/model/customer/HubriseCustomerListContract"; export * from "api/hubrise/model/location/HubriseLocationContract"; export * from "api/hubrise/model/location/HubriseOpeningHoursContract"; export * from "api/hubrise/model/location/HubriseOrderAcceptanceContract"; export * from "api/hubrise/model/menu/HubriseMenuCatalogContract"; export * from "api/hubrise/model/menu/HubriseMenuCategoryContract"; export * from "api/hubrise/model/menu/HubriseMenuChargeContract"; export * from "api/hubrise/model/menu/HubriseMenuDealContract"; export * from "api/hubrise/model/menu/HubriseMenuDealLineContract"; export * from "api/hubrise/model/menu/HubriseMenuDiscountContract"; export * from "api/hubrise/model/menu/HubriseMenuImageContract"; export * from "api/hubrise/model/menu/HubriseMenuPriceOverrideContract"; export * from "api/hubrise/model/menu/HubriseMenuProductContract"; export * from "api/hubrise/model/menu/HubriseMenuProductOptionContract"; export * from "api/hubrise/model/menu/HubriseMenuProductOptionListContract"; export * from "api/hubrise/model/menu/HubriseMenuRestrictionsContract"; export * from "api/hubrise/model/menu/HubriseMenuSkuContract"; export * from "api/hubrise/model/menu/HubriseMenuVariantContract"; export * from "api/hubrise/model/order/HubriseOrderChargeContract"; export * from "api/hubrise/model/order/HubriseOrderContract"; export * from "api/hubrise/model/order/HubriseOrderDealContract"; export * from "api/hubrise/model/order/HubriseOrderDiscountContract"; export * from "api/hubrise/model/order/HubriseOrderItemContract"; export * from "api/hubrise/model/order/HubriseOrderLoyaltyOperationContract"; export * from "api/hubrise/model/order/HubriseOrderOptionContract"; export * from "api/hubrise/model/order/HubriseOrderPaymentContract"; export * from "api/hubrise/model/order/HubriseOrderStatus"; export * from "api/hubrise/model/order/HubriseServiceType"; export * from "api/hubrise/model/setting/HubriseDeliveryFeeSettingContract"; export * from "api/hubrise/model/setting/HubriseMOVSettingContract"; export * from "api/hubrise/model/user/HubriseUserContract"; export * from "api/hubrise/model/order/HubriseOrderEditableItemContract"; export * from "api/hubrise/model/order/HubriseOrderEditableOptionContract"; export * from "api/hubrise/service/ExpectedDateCalculator"; export * from "api/hubrise/service/ExpectedDateCalculatorContract"; export * from "api/hubrise/service/HubriseCatalogConverter"; export * from "api/hubrise/service/HubriseCatalogConverterContract"; export * from "api/hubrise/service/HubriseOrderConverter"; export * from "api/hubrise/service/HubriseOrderConverterContract"; export * from "api/hubrise/service/HubriseRestrictionEnforcer"; export * from "api/hubrise/service/HubriseRestrictionEnforcerContract"; export * from "api/hubrise/service/TotalHubriseCalculator"; export * from "api/hubrise/service/TotalHubriseCalculatorContract"; export * from "api/hubrise/util/HubrisePriceUtil"; } declare module "api/index" { export * from "api/hubrise/service/HubriseApiContract"; export * from "api/hubrise/service/HubriseApi"; export * from "api/web"; } declare module "constant/Path" { export class Path { private static BASE_PATH; static registerBasePath(basePath: string): void; static data(): string; static db(): string; static root(): string; static session(): string; static storage(): string; } } declare module "constant/index" { export * from "constant/Path"; } declare module "exception/BadRequestException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class BadRequestException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/ConflictException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class ConflictException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/DuplicateException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class DuplicateException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/InternalException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class InternalException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/NotImplementedException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class NotImplementedException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/ObjectNotFoundException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class ObjectNotFoundException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/PageNotFoundException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class PageNotFoundException extends MainException implements ExceptionContract { constructor(message: string, data?: { [key: string]: any; }); } } declare module "exception/index" { export * from "exception/BadParameterException"; export * from "exception/BadRequestException"; export * from "exception/ConflictException"; export * from "exception/DuplicateException"; export * from "exception/ExceptionContract"; export * from "exception/ExternalApiException"; export * from "exception/InternalException"; export * from "exception/MainException"; export * from "exception/NotImplementedException"; export * from "exception/ObjectNotFoundException"; export * from "exception/PageNotFoundException"; export * from "exception/UnauthorizedException"; } declare module "http/AuthenticationMiddlewareContract" { import * as express from 'express'; export interface AuthenticationMiddlewareContract { handler(): (request: express.Request, response: express.Response, next: () => void) => void; } } declare module "http/AuthentificationConfigurationContract" { export interface AuthentificationConfigurationContract { jwt?: { required: string[]; }; key?: { secret: string; }; none?: { urlStartsWith: string[]; }; session?: { required: string[]; }; } } declare module "http/HandlerController" { import * as express from 'express'; export class HandlerController { static error(_request: express.Request, response: express.Response, error: any): any; } } declare module "http/AuthenticationMiddleware" { import * as express from 'express'; import { AuthenticationMiddlewareContract } from "http/AuthenticationMiddlewareContract"; import { AuthentificationConfigurationContract } from "http/AuthentificationConfigurationContract"; export class AuthenticationMiddleware implements AuthenticationMiddlewareContract { private configuration; constructor(configuration: AuthentificationConfigurationContract); handler(): (request: express.Request, response: express.Response, next: () => void) => void; private authApiKey; private authNone; } } declare module "http/AuthorizationMiddlewareContract" { export interface AuthorizationMiddlewareContract { can(action: string, subject: string): void; } } declare module "http/AuthorizationMiddleware" { import { AuthorizationMiddlewareContract } from "http/AuthorizationMiddlewareContract"; export class AuthorizationMiddleware implements AuthorizationMiddlewareContract { can(_action: string, _subject: string): void; } } declare module "http/ServerContract" { import * as express from 'express'; export interface ServerContract { create(origins: string[], port?: number): Promise; getSessionSecret(sessionCookieName: string): string; } } declare module "http/Server" { import { Express } from 'express'; import { ServerContract } from "http/ServerContract"; export class Server implements ServerContract { static readonly DEFAULT_PORT: number; static readonly SALT: string; private app; create(origins: string[], port?: number): Promise; getSessionSecret(sessionCookieName: string): string; } } declare module "http/index" { export * from "http/AuthenticationMiddleware"; export * from "http/AuthenticationMiddlewareContract"; export * from "http/AuthorizationMiddleware"; export * from "http/AuthorizationMiddlewareContract"; export * from "http/Server"; export * from "http/ServerContract"; export * from "http/HandlerController"; } declare module "mockup/ApiMockup" { export class ApiMockup { static isDone(): boolean; static pending(): string; static reset(): void; } } declare module "mockup/HubriseApiMockup" { import { ApiMockup } from "mockup/ApiMockup"; export class HubriseApiMockup extends ApiMockup { static readonly BASE_URL: string; static getUser(times?: number): void; static getAccount(times?: number): void; static getLocations(times?: number): void; static getLocation(times?: number): void; static createCustomer(times?: number): void; static updateCustomer(times?: number): void; static getCustomer(times?: number): void; static getCustomers(times?: number): void; static getCustomerLists(times?: number): void; static createOrder(times?: number): void; static getOrder(times?: number, generateRandomId?: boolean): void; static getOrders(times?: number, generateRandomId?: boolean): void; static setOrderStatus(times?: number): void; static getCatalog(times?: number): void; static getCatalogs(times?: number): void; static updateWebhooks(times?: number): void; static getWebhooks(times?: number): void; static deleteWebhooks(times?: number): void; } } declare module "mockup/index" { export * from "mockup/ApiMockup"; export * from "mockup/HubriseApiMockup"; } declare module "service/sender/SmsSenderServiceContract" { export interface SmsSenderServiceContract { send(senderName: string, message: string, phones: string[], isCommercial?: boolean, sendAt?: string): Promise; } } declare module "util/UrlUtil" { export class UrlUtil { static isUTF8(charset: string): boolean; static urlencode(str: string, charset: string): string; } } declare module "service/sender/SmsSenderService" { import { SmsSenderServiceContract } from "service/sender/SmsSenderServiceContract"; import { Environment } from "tool/Environment"; export class SmsSenderService implements SmsSenderServiceContract { static readonly BASE_API_URL: string; static readonly MESSAGE_MAX_LENGTH: number; private readonly token; private readonly mode; constructor(token: string, mode: Environment); send(senderName: string, message: string, rawPhones: string[], isCommercial?: boolean, sendAt?: string): Promise; private checkPhoneFormat; } } declare module "service/sender/SenderContract" { export interface SenderContract { name: string; contact: string; } } declare module "service/sender/RecipientContract" { export interface RecipientContract { name: string; contact: string; } } declare module "templating/view/email/ViewEmailElementH2Contract" { export interface ViewEmailElementH2Contract { content: string; } } declare module "templating/view/email/ViewEmailElementButtonContract" { export interface ViewEmailElementButtonContract { name: string; url: string; } } declare module "templating/view/email/ViewEmailElementParagraphContract" { export interface ViewEmailElementParagraphContract { content: string; } } declare module "templating/view/email/ViewEmailElementBaseContract" { export interface ViewEmailElementBaseContract { subject: string; intro: string; shop: { name: string; url: string; textUrl: string; logo: string; phone: { display: string; int: string; }; email: string; social: { facebook?: { url: string; logo: string; }; instagram?: { url: string; logo: string; }; tiktok?: { url: string; logo: string; }; twitter?: { url: string; logo: string; }; whatsapp?: { url: string; logo: string; }; }; terms: string; }; copyright?: { year: string; }; } } declare module "templating/view/email/ViewEmailTrackDeliveryContract" { import { ViewEmailElementH2Contract } from "templating/view/email/ViewEmailElementH2Contract"; import { ViewEmailElementButtonContract } from "templating/view/email/ViewEmailElementButtonContract"; import { ViewEmailElementParagraphContract } from "templating/view/email/ViewEmailElementParagraphContract"; import { ViewEmailElementBaseContract } from "templating/view/email/ViewEmailElementBaseContract"; export interface ViewEmailTrackDeliveryContract { base: ViewEmailElementBaseContract; 'include:0:h2': ViewEmailElementH2Contract; 'include:0:p': ViewEmailElementParagraphContract; 'include:0:button': ViewEmailElementButtonContract; 'include:1:p': ViewEmailElementParagraphContract; } } declare module "templating/view/email/ViewEmailDeliveryDelayContract" { export interface ViewEmailDeliveryDelayContract { } } declare module "templating/view/email/ViewEmailElementListContract" { export interface ViewEmailElementListContract { list: string[]; } } declare module "templating/view/email/ViewEmailUserNotificationContract" { import { ViewEmailElementH2Contract } from "templating/view/email/ViewEmailElementH2Contract"; import { ViewEmailElementParagraphContract } from "templating/view/email/ViewEmailElementParagraphContract"; import { ViewEmailElementBaseContract } from "templating/view/email/ViewEmailElementBaseContract"; import { ViewEmailElementButtonContract } from "templating/view/email/ViewEmailElementButtonContract"; import { ViewEmailElementListContract } from "templating/view/email/ViewEmailElementListContract"; export interface ViewEmailUserNotificationContract { base: ViewEmailElementBaseContract; 'include:0:h2': ViewEmailElementH2Contract; 'include:0:p': ViewEmailElementParagraphContract; 'include:0:li'?: ViewEmailElementListContract; 'include:0:button'?: ViewEmailElementButtonContract; 'include:1:p'?: ViewEmailElementParagraphContract; 'include:0:signature'?: ViewEmailElementParagraphContract; } } declare module "templating/view/email/ViewEmailElementH3Contract" { export interface ViewEmailElementH3Contract { content: string; } } declare module "templating/view/email/ViewEmailElementImageContract" { export interface ViewEmailElementImageContract { url: string; } } declare module "templating/view/email/ViewEmailDiscountContract" { import { ViewEmailElementH2Contract } from "templating/view/email/ViewEmailElementH2Contract"; import { ViewEmailElementParagraphContract } from "templating/view/email/ViewEmailElementParagraphContract"; import { ViewEmailElementBaseContract } from "templating/view/email/ViewEmailElementBaseContract"; import { ViewEmailElementButtonContract } from "templating/view/email/ViewEmailElementButtonContract"; import { ViewEmailElementH3Contract } from "templating/view/email/ViewEmailElementH3Contract"; import { ViewEmailElementImageContract } from "templating/view/email/ViewEmailElementImageContract"; export interface ViewEmailDiscountContract { base: ViewEmailElementBaseContract; 'include:0:fullimg'?: ViewEmailElementImageContract; 'include:0:h2': ViewEmailElementH2Contract; 'include:0:h3': ViewEmailElementH3Contract; 'include:0:p': ViewEmailElementParagraphContract; 'include:0:button'?: ViewEmailElementButtonContract; 'include:1:p'?: ViewEmailElementParagraphContract; 'include:0:signature'?: ViewEmailElementParagraphContract; } } declare module "service/sender/EmailSenderServiceContract" { import { SenderContract } from "service/sender/SenderContract"; import { RecipientContract } from "service/sender/RecipientContract"; import { ViewEmailTrackDeliveryContract } from "templating/view/email/ViewEmailTrackDeliveryContract"; import { ViewEmailDeliveryDelayContract } from "templating/view/email/ViewEmailDeliveryDelayContract"; import { ViewEmailUserNotificationContract } from "templating/view/email/ViewEmailUserNotificationContract"; import { ViewEmailDiscountContract } from "templating/view/email/ViewEmailDiscountContract"; export interface EmailSenderServiceContract { sendDeliveryDelay(sender: SenderContract, recipient: RecipientContract, data: ViewEmailDeliveryDelayContract): Promise; sendTrackDelivery(sender: SenderContract, recipient: RecipientContract, data: ViewEmailTrackDeliveryContract): Promise; sendUserNotification(sender: SenderContract, recipient: RecipientContract, data: ViewEmailUserNotificationContract, isCommercial?: boolean, customId?: string): Promise; sendUsersNotifications(sender: SenderContract, messages: { recipient: RecipientContract; data: ViewEmailUserNotificationContract; }[], isCommercial?: boolean, customId?: string): Promise; sendDiscount(sender: SenderContract, recipient: RecipientContract, data: ViewEmailDiscountContract, isCommercial?: boolean, customId?: string): Promise; sendDiscounts(sender: SenderContract, messages: { recipient: RecipientContract; data: ViewEmailDiscountContract; }[], isCommercial?: boolean, customId?: string): Promise; } } declare module "templating/TemplateEngineContract" { export interface TemplateEngineContract { render(templatePath: string, view: { [key: string]: any; }, baseIncludePath?: string): Promise; } } declare module "tool/FileSystemContract" { export interface FileSystemContract { dirPath(filePath: string): string; listFiles(dirPath: string): Promise; randomFile(dirPath: string, suggestion?: number): Promise; move(filePath: string, dirTarget: string): Promise; read(filePath: string): Promise; readJson(jsonPath: string): Promise; readJsonFiles(dirPath: string): Promise<{ name: string; data: any; }[]>; write(filePath: string, rawData: any): Promise; writeJson(jsonPath: string, data: any): Promise; } } declare module "util/PromiseUtil" { export const asyncForEach: (array: any[], callback: (item: any) => Promise) => Promise; export const wait: (time: number) => Promise; } declare module "util/GeneratorUtil" { export class GeneratorUtil { private static readonly symbolUpperCases; private static readonly symbolLowerCases; static code(size: number): string; static color(alpha?: number): string; private static rgbToHex; static int(min: number, max: number): number; static password(size: number): string; } } declare module "tool/FileSystem" { import { FileSystemContract } from "tool/FileSystemContract"; export class FileSystem implements FileSystemContract { dirPath(filePath: string): string; listFiles(dirPath: string): Promise; randomFile(dirPath: string, suggestion?: number): Promise; move(filePath: string, dirPath: string): Promise; read(filePath: string): Promise; readJson(jsonPath: string): Promise; readJsonFiles(dirPath: string): Promise<{ name: string; data: any; }[]>; write(filePath: string, rawData: any): Promise; writeJson(jsonPath: string, data: any): Promise; private isDir; private isFile; private isJson; } } declare module "templating/MinifierEngineContract" { export interface MinifierEngineContract { css(content: string): Promise; html(content: string): Promise; } } declare module "templating/MinifierEngine" { import { MinifierEngineContract } from "templating/MinifierEngineContract"; export class MinifierEngine implements MinifierEngineContract { css(content: string): Promise; html(content: string): Promise; } } declare module "templating/TemplateEngine" { import { TemplateEngineContract } from "templating/TemplateEngineContract"; export class TemplateEngine implements TemplateEngineContract { private minifier; constructor(); render(templatePath: string, data: { [key: string]: any; }, baseIncludePath?: string): Promise; } } declare module "service/sender/EmailSenderService" { import { EmailSenderServiceContract } from "service/sender/EmailSenderServiceContract"; import { ViewEmailTrackDeliveryContract } from "templating/view/email/ViewEmailTrackDeliveryContract"; import { RecipientContract } from "service/sender/RecipientContract"; import { SenderContract } from "service/sender/SenderContract"; import { Environment } from "tool/Environment"; import { ViewEmailUserNotificationContract } from "templating/view/email/ViewEmailUserNotificationContract"; import { ViewEmailDiscountContract } from "templating/view/email/ViewEmailDiscountContract"; export class EmailSenderService implements EmailSenderServiceContract { private readonly templateEngine; private readonly mailjet; private readonly mode; constructor(apiPublicKey: string, apiSecretKey: string, mode: Environment); sendDeliveryDelay(sender: SenderContract, recipient: RecipientContract, data: ViewEmailTrackDeliveryContract): Promise; sendTrackDelivery(sender: SenderContract, recipient: RecipientContract, data: ViewEmailTrackDeliveryContract): Promise; sendUserNotification(sender: SenderContract, recipient: RecipientContract, data: ViewEmailUserNotificationContract, isCommercial?: boolean, customId?: string): Promise; sendUsersNotifications(sender: SenderContract, messages: { recipient: RecipientContract; data: ViewEmailUserNotificationContract; }[], isCommercial?: boolean, customId?: string): Promise; sendDiscount(sender: SenderContract, recipient: RecipientContract, data: ViewEmailDiscountContract, isCommercial?: boolean, customId?: string): Promise; sendDiscounts(sender: SenderContract, messages: { recipient: RecipientContract; data: ViewEmailDiscountContract; }[], isCommercial?: boolean, customId?: string): Promise; private sendNotification; } } declare module "service/index" { export * from "service/sender/SmsSenderServiceContract"; export * from "service/sender/SmsSenderService"; export * from "service/sender/EmailSenderServiceContract"; export * from "service/sender/EmailSenderService"; export * from "service/sender/SenderContract"; export * from "service/sender/RecipientContract"; } declare module "templating/index" { export * from "templating/view/email/ViewEmailDeliveryDelayContract"; export * from "templating/view/email/ViewEmailDiscountContract"; export * from "templating/view/email/ViewEmailTrackDeliveryContract"; export * from "templating/view/email/ViewEmailUserNotificationContract"; export * from "templating/TemplateEngine"; export * from "templating/TemplateEngineContract"; } declare module "tool/ConfigurationContract" { export interface ConfigurationContract { full(): Promise; } } declare module "tool/Configuration" { import { ConfigurationContract } from "tool/ConfigurationContract"; import { Env } from "tool/Env"; export class Configuration implements ConfigurationContract { private static config; private static root; private static environment; private readonly filesystem; constructor(root: string, environment?: Env); full(): Promise; private init; } } declare module "tool/DatabaseContract" { export interface DatabaseContract { connect(name: string, entities: any[]): Promise; synchronize(): Promise; close(): Promise; } } declare module "tool/Database" { import { DatabaseContract } from "tool/DatabaseContract"; export class Database implements DatabaseContract { private root; private db; private connection; constructor(root: string); connect(name: string, entities: any[]): Promise; synchronize(): Promise; close(): Promise; private init; } } declare module "tool/DisplayerContract" { export interface DisplayerContract { error(error: Error): void; info(message: string): void; json(json: any): void; success(message: string): void; } } declare module "tool/Displayer" { import { DisplayerContract } from "tool/DisplayerContract"; export class Displayer implements DisplayerContract { error(error: Error): void; info(message: string): void; json(json: any): void; success(message: string): void; } } declare module "tool/DownloaderContract" { export interface DownloaderContract { image(url: string, outputPath: string, outputName?: string): Promise; } } declare module "tool/Downloader" { import { DownloaderContract } from "tool/DownloaderContract"; export class Downloader implements DownloaderContract { private readonly fileSystem; constructor(); image(url: string, outputPath: string, outputName?: string): Promise; } } declare module "tool/index" { export * from "tool/ConfigurationContract"; export * from "tool/Configuration"; export * from "tool/DatabaseContract"; export * from "tool/Database"; export * from "tool/DisplayerContract"; export * from "tool/Displayer"; export * from "tool/DownloaderContract"; export * from "tool/Downloader"; export * from "tool/Env"; export * from "tool/Environment"; export * from "tool/FileSystemContract"; export * from "tool/FileSystem"; export * from "tool/Logger"; export * from "tool/Retry"; } declare module "util/StringUtil" { export class StringUtil { static escapeRegExp(str: string): string; static hash(str: string, seed?: number): string; static nullable(str: string): string; static removeMultiSpaces(data: string): string; static removeText(data: string, text: string): string; static replace(str: string, targets: string[], replacers: string[]): string; static slugify(raw: string, separator?: string): string; static truncate(str: string, limit: number): string; } } declare module "util/FormatterUtil" { export class FormatterUtil { static trim(raw: string): string; static capitalize(raw: string): string; static ucfirst(raw: string): string; static lower(raw: string): string; static upper(raw: string): string; static phone(raw: string, locale: string, output?: 'nat' | 'int'): string; static stripEmoji(raw: string): string; static stripExoticCharacters(raw: string): string; private static preformatPhone; private static phoneNat; private static phoneInt; } } declare module "util/AddressUtil" { export class AddressUtil { private static readonly ZIPCODE_CITY; private static readonly REGIONS; private static readonly COUNTRIES; private static readonly STREET_TYPE; static autoCorrectCity(city: string): string; static autoCorrectStreet(street: string): string; static getZipCodeFromCity(city: string): string; static getCityFromZipCode(zip: string, rawAddress: string): string; static isZipCode(zip: string): boolean; static parse(raw: string, isFormatted?: boolean): { street?: string; zip?: string; city?: string; country?: string; }; static complete(address: { street?: string; zip?: string; city?: string; country?: string; }): { street?: string; zip?: string; city?: string; country?: string; }; static removeDuplicates(str: string): string; private static countDiff; } } declare module "util/DateUtil" { export class DateUtil { private static readonly PERIOD_MAX_DATES; private static readonly WEEK_DAYS; static getCycleDateFromFullDate(date: string, cycle: 'daily' | 'weekly' | 'monthly'): string; static displayWeekDay(weekDay: number): string; static generatePeriod(fromDate: string, toDate: string, initialValue: Record, addDate?: boolean, MAX_DAYS?: number, cycle?: 'daily' | 'weekly' | 'monthly'): { [date: string]: Record; }; static getOpenPeriods(openings: { from: string; to: string; }[], closings: { from: string; to: string; }[]): { from: string; to: string; }[]; static limitDate(targetDate: string, baseDate: string, limitInSeconds?: number): string; static localeToISO(localeDate: string): string; static slotToTime(timeSlot: string): string; static delay(fromDate: string, toDate: string, unit: 'minutes' | 'hours' | 'days' | 'months'): number; static round(date: string, roundingInMs?: number): string; static min(dates: string[]): string; static max(dates: string[]): string; } } declare module "util/ExtractorUtil" { export class ExtractorUtil { static phone(raw: string, locale: 'fr'): string; } } declare module "util/PriceUtil" { export class PriceUtil { private static readonly currencies; static applyTaxes(priceTaxExcluded: string, taxRates: number[], decimals?: number): string; static calculateTaxes(priceTaxExcluded: number, taxRates: number[]): number; static displayWithCurrency(price: string, isoCurrency: string): string; static format(price: string, locale: 'fr' | 'us', decimals?: number): string; static round(price: string, precision?: number): string; } } declare module "util/index" { export * from "util/AddressUtil"; export * from "util/DateUtil"; export * from "util/ExtractorUtil"; export * from "util/FormatterUtil"; export * from "util/GeneratorUtil"; export * from "util/HelperUtil"; export * from "util/MathUtil"; export * from "util/ObjectUtil"; export * from "util/PriceUtil"; export * from "util/PromiseUtil"; export * from "util/StringUtil"; export * from "util/ValidatorUtil"; } /// declare module "@onylab/common-api" { import * as Api from "api/index"; import * as Constant from "constant/index"; import * as Exception from "exception/index"; import * as Http from "http/index"; import * as Mockup from "mockup/index"; import * as Service from "service/index"; import * as Template from "templating/index"; import * as Tool from "tool/index"; import * as Util from "util/index"; export { Api, Constant, Exception, Http, Mockup, Service, Template, Tool, Util }; } declare module "web" { import * as Api from "api/web"; import * as Exception from "exception/index"; import * as Util from "util/index"; export { Api, Exception, Util }; } declare module "exception/ForbiddenException" { import { MainException } from "exception/MainException"; import { ExceptionContract } from "exception/ExceptionContract"; export class ForbiddenException extends MainException implements ExceptionContract { static readonly ERROR_CODE: number; constructor(message: string, data?: { [key: string]: any; }); } } declare module "service/sender/EmailSenderApiMockup" { export class EmailSenderApiMockup { private static readonly BASE_API_URL; static sendNotification(times?: number): void; static none(): void; static isDone(): boolean; static pending(): string; static reset(): void; } } declare module "service/sender/SmsSenderApiMockup" { export class SmsSenderApiMockup { static send(token: string, senderName: string, message: string, phones: string[], isCommercial?: boolean, sendAt?: string, countMessages?: number, times?: number): void; static none(): void; static isDone(): boolean; static pending(): string; static reset(): void; } } declare module "templating/view/email/ViewEmailElementSignatureContract" { export interface ViewEmailElementSignatureContract { content: string; } }