import { OnsiteCoreWindow } from "@mailbiz/onsite-core"; //#region [Window] interface LinxCommerceApp { tools: { contentPath: (val: string, mode?: string) => string; }; } interface JQueryPubSub { publish: (eventName: string, data: unknown) => void; subscribe: (eventName: string, callback: Function) => void; } interface Ko { publish: (eventName: string, data: unknown) => void; subscribe: (eventName: string, callback: Function) => void; } interface LinxCommerceWindow extends OnsiteCoreWindow { browsingContext?: BrowsingContext; EasyCheckout?: EasyCheckout; $?: JQueryPubSub; jQuery?: JQueryPubSub; ko?: { postbox: Ko; }; app?: LinxCommerceApp; EzGaCfg?: EzGACfg; variants?: VariantsContext[]; wd23_MediaSelectorDS?: MediaDisplayerWidgetData[] | null; } //#endregion interface ACTIONS { ready: string; basketUpdated: string; } interface Basket { Index: string; AddProduct: string; AddProductWithServices: string; } interface PointOfSale { Index: string; } interface Search { Search: string; } interface Checkout { Start: string; } interface Shopping { Basket: Basket; PointOfSale: PointOfSale; Search: Search; Checkout: Checkout; } interface Account { Index: string; Edit: string; ChangePassword: string; } interface AccountAddress { Index: string; Create: string; Edit: string; Delete: string; } interface AccountWishlist { Index: string; Edit: string; Create: string; Delete: string; } interface AccountOneClickBuy { Index: string; } interface AccountCreditCompetence { Index: string; } interface AccountLoyaltyProgram { Index: string; } interface AccountLoyaltyCard { Index: string; } interface AccountGiftCertificate { Index: string; } interface AccountInvoice { Index: string; Detail: string; } interface AccountOrder { Index: string; Detail: string; LegacyOrderDetail: string; } interface ReturnOrder { Index: string; Detail: string; Selection: string; Save: string; List: string; } interface GuestOrder { Detail: string; } interface AccountFulfillment { Index: string; TrackingStatus: string; } interface AccountRelation { Index: string; Create: string; } interface Login { IsLogin: boolean; Index: string; SignOut: string; } interface AccountRegister { ValidateEmail: string; Index: string; RenderSuccessSubscribe: string; } interface AccountDocument { Index: string; Create: string; Edit: string; Delete: string; Download: string; } interface AccountAcceptanceTerm { Index: string; Detail: string; Feedback: string; } interface Profile { Account: Account; AccountAddress: AccountAddress; AccountWishlist: AccountWishlist; AccountOneClickBuy: AccountOneClickBuy; AccountCreditCompetence: AccountCreditCompetence; AccountLoyaltyProgram: AccountLoyaltyProgram; AccountLoyaltyCard: AccountLoyaltyCard; AccountGiftCertificate: AccountGiftCertificate; AccountInvoice: AccountInvoice; AccountOrder: AccountOrder; ReturnOrder: ReturnOrder; GuestOrder: GuestOrder; AccountFulfillment: AccountFulfillment; AccountRelation: AccountRelation; Login: Login; AccountRegister: AccountRegister; AccountDocument: AccountDocument; AccountAcceptanceTerm: AccountAcceptanceTerm; } interface Urls { BaseUrl: string; FullBaseUrl: string; ParentBaseUrl: string; CurrentUrl: string; RefererUrl: string; RawUrl: string; Domain: string; Shopping: Shopping; Profile: Profile; } interface FacebookID { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface TwitterID { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface IsOneClickBuyActive { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface SelectedOneClickBuyDeliveryMethod { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface BrasPagOneClickBuySettings { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface OneClickBuyChosenInstallment { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface AllowEmailNewsLetter { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface AllowSmsNewsLetter { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface PayUOneClickBuySetting { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface SteloID { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface PagarMeOneClickBuySettings { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface MoipV2OneClickBuySettings { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface CieloV3OneClickBuySettings { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface AllowWhatsAppNotification { Value: string; PropertyMetadataID: number; EntityMetadataID: number; Name: string; BindType: string; InputType: string; IsSystemMetadata: boolean; DisplayName: string; ShortDisplayName?: unknown; HasMaxLength: boolean; MaxLength: number; HasInputMask: boolean; InputMask?: unknown; HasTemplateHint: boolean; TemplateHint?: unknown; IsRequired: boolean; IsStoreVisible: boolean; FileExtensions?: unknown; FileMaxSize: number; Options: unknown[]; } interface ExtendedProperties { FacebookID: FacebookID; TwitterID: TwitterID; IsOneClickBuyActive: IsOneClickBuyActive; SelectedOneClickBuyDeliveryMethod: SelectedOneClickBuyDeliveryMethod; BrasPagOneClickBuySettings: BrasPagOneClickBuySettings; OneClickBuyChosenInstallment: OneClickBuyChosenInstallment; AllowEmailNewsLetter: AllowEmailNewsLetter; AllowSmsNewsLetter: AllowSmsNewsLetter; PayUOneClickBuySetting: PayUOneClickBuySetting; SteloID: SteloID; PagarMeOneClickBuySettings: PagarMeOneClickBuySettings; MoipV2OneClickBuySettings: MoipV2OneClickBuySettings; CieloV3OneClickBuySettings: CieloV3OneClickBuySettings; AllowWhatsAppNotification: AllowWhatsAppNotification; } interface Contact { Phone: string; Phone2: string; CellPhone: string; Fax: string; } interface Customer { ExtendedProperties: ExtendedProperties; CustomerType: string; Email: string; Password: string; Password_Check?: unknown; Name: string; Surname: string; BirthDate: Date; Gender: string; Cpf: string; RG: string; TradingName?: unknown; Cnpj?: unknown; CustomerID: number; WebSiteID: number; CustomerHash: string; PasswordRecovery: string; PasswordRecoveryExpireDate: Date; PasswordRecoveryActionUrl?: unknown; EmailConfirmationActionUrl?: unknown; PinCode?: unknown; Contact: Contact; CustomerStatusID: number; IsEmailConfirmed?: unknown; CanChangeEmail: boolean; } interface Scenario { Tags: unknown[]; ShopperScenarioID: unknown[]; } interface Wishlist { WishlistID: number; Name?: unknown; WishlistDefinitionID: number; WishlistDefinitionName?: unknown; WishlistMode: string; } interface CustomerStatusRole { PurchaseIsNotAllowed: boolean; LoginIsNotAllowed: boolean; AddressManagementIsNotAllowed: boolean; } interface Shopper { CustomerID: number; ShopperTicketID: string; SessionID: string; IsAuthenticated: boolean; IsAnonymous: boolean; IsGuest: boolean; Name: string; SurName: string; CustomerType: string; Email: string; CreatedDate: Date; CustomerGroupID?: unknown; CustomerImpersonationUserName: string; Scenario: Scenario; Wishlist: Wishlist; CustomerStatusRole: CustomerStatusRole; HasSeller: boolean; HasSalesRepresentative: boolean; Seller?: unknown; SalesRepresentative?: unknown; StorePurchasingMode: string; JsonWebToken?: unknown; IsEmailConfirmed: boolean; MustConfirmEmail: boolean; ModeratedSellers?: unknown; } interface WebSite { WebSiteID: number; Type: string; Name: string; ParentWebSiteID: number; IsParentWebSite: boolean; IsChildWebSite: boolean; } interface CreditCompetence { Reference?: unknown; Amount: number; ClaimedAmount: number; AvailableAmount: number; } interface DeliveryOption { DeliveryOptionID: string; DeliveryMethodID: string; DeliveryMethodType: string; DeliveryOptionType?: unknown; Name: string; Alias: string; Amount: number; DiscountAmount: number; Logo: string; EstimatedTime: string; EstimatedUnit: string; OriginalEstimatedUnit: string; ETA: string; OriginalETA: string; OnlyShipToStore: boolean; IsPointOfSaleDelivery: boolean; IsPickupLocker: boolean; IsDockWithdrawalPoint: boolean; Schedule?: unknown; PointOfSales: unknown[]; ExtendedProperties: unknown[]; OnlyPickUpAllItems: boolean; HasDifferentLocations: boolean; ItemsETAs?: unknown; } interface DeliveryGroup { SplitGroupName?: unknown; SplittingKey: number; DeliveryGroupID: number; Name: string; Alias: string; Description: string; ShowLogo: boolean; Type: string; GroupBidStrategy: string; ListOrderStrategy: string; DeliveryOptions: DeliveryOption[]; SellerID: number; DockID: number; WarehouseID: number; GroupKey?: unknown; GroupSkus: unknown[]; } interface Award { PromotionID: number; Amount: number; Message: string; BasketAwardType: string; RangeType?: unknown; FreeItemDataSource: unknown[]; MustRequireFreeItemSelection: boolean; MustSelectFreeItemWhenAvailable: boolean; } interface Product { IsUndeliverable: boolean; IsGiftCertificate: boolean; CatalogItemBehavior: string; SKU: string; } interface SkuOption { PropertyMetadataID: number; OptionMetadataID: number; PropertyName: string; OptionValue: string; } interface GiftCertificateProductData { Email?: unknown; Name?: unknown; Message?: unknown; } interface Wishlist2 { WishlistID: number; Hash: string; Name?: unknown; UrlFriendly?: unknown; WishlistDefinitionID: number; WishlistDefinitionName?: unknown; Url: string; AvailableQuantity: number; DeliveryAddressID?: unknown; } interface PurchaseLimit { SalesSubTotalLimit?: unknown; SalesUnitLimit?: unknown; SalesSubTotalMaximum?: unknown; SalesUnitLimitMaximum?: unknown; Evaluation?: unknown; } interface Seller { SellerID?: unknown; HasSeller: boolean; SellerName?: unknown; ETA: number; DeliveryAmount: number; HasDeliveryOptions: boolean; HasLimits: boolean; PurchaseLimit: PurchaseLimit; } interface CustomerRelation { CustomerID: number; AddressID: number; Name?: unknown; TradingName?: unknown; } interface Discount { Reference: string; Amount: number; Message: string; CouponCode: string; Type: string; ProductID: number; PromotionID: number; ExternalItemsIdentifier?: unknown; ExternalPromotionName?: unknown; } interface BasketItemValidation { IsValid: boolean; RequiredQuantity: number; SimilarDestinationUrl?: unknown; Status?: unknown; } interface Item { Warehouses: number[]; IsDeliverable: boolean; Additionals: unknown[]; Nested: unknown[]; Product: Product; SKU: string; SkuID: number; SkuName: string; SkuOptions: SkuOption[]; SpecialType: string; SubCategoryName: string; SubCategoryUrl: string; SubTotal: number; Tax: number; TaxationAmount: number; UrlFriendly: string; GiftCertificateProductData: GiftCertificateProductData; IsRemovableItem: boolean; IsEditableItem: boolean; Wishlist: Wishlist2; Seller: Seller; PaymentTermID: number; CustomerRelation: CustomerRelation; ProductTypeID: number; Quantity: number; RetailPrice: number; ImagePath: string; IsFreeShipping: boolean; IsMergedItem: boolean; IsPreviousItem: boolean; IsWishlistItem: boolean; ListPrice: number; LoyaltyProgramPoints: number; Name: string; Priority: number; ProductAdditionalID: number; ProductAdditionalIndex: number; ProductID: number; HasCustomization: boolean; HasLoyaltyProgram: boolean; HasPromotion: boolean; HasSkuOptions: boolean; HasNestedServices: boolean; CatalogItemType: number; CategoryName: string; CategoryUrl: string; Customizations: unknown[]; Discounts: Discount[]; BundleKitDiscountValue: number; BundlePriceType: string; BundleType: string; Awards: unknown[]; BasketItemID: number; BasketItemValidation: BasketItemValidation; BasketPrice: number; BrandName: string; BundleAdjustType: string; BundleAdjustValue: number; BundleKitDiscount: string; } interface ItemDiscount { Amount: number; CouponCode: string; Message: string; ProductID: number; PromotionID: number; Reference: string; Type: string; } interface BasketCoupon { Code: string; BasketAmount: number; Amount: number; References: string[]; ContentType: string; IsNoDiscountCoupon: boolean; } interface Basket2 { BasketID: number; BasketHash: string; HasSeller: boolean; Sellers: unknown[]; CreditCompetence: CreditCompetence; DeliveryGroups: DeliveryGroup[]; SingleDeliveryOption: boolean; SelectedDeliveryOption?: unknown; SelectedDeliveryOptionList: unknown[]; PostalCode: string; IsPostalCodeReadonly: boolean; Awards: Award[]; ItemAwards: unknown[]; Discounts: unknown[]; Upsells: unknown[]; Payments: unknown[]; DeliveryDiscounts: unknown[]; GiftCertificates: unknown[]; Coupons: BasketCoupon[]; DeliveryAmount: number; DeliveryDiscountAmount: number; DeliveryLoyaltyProgramPoints: number; DiscountAmount: number; SubTotal: number; Total: number; PaymentTerms: unknown[]; IsFreeShipping: boolean; TaxAmount: number; TaxationAmount: number; MinETADays: number; MaxETADays: number; DeliveryETADays: number; HasunknownAvailableWrapping: boolean; HasunknownWishlist: boolean; HasunknownCustomization: boolean; Wishlist?: unknown; ProductAdditionals: unknown[]; IsValid: boolean; HasunknownOutOfStockItem: boolean; HasunknownUndeliverableItem: boolean; HasPartiallyunknownOutOfStockItem: boolean; HasLoyaltyProgram: boolean; LoyaltyProgramTotalOfProductPoints: number; LoyaltyCardsList: unknown[]; LoyaltyCardAmount: number; LoyaltyCardPaymentAmount: number; LoyaltyProgramMode: string; Items: Item[]; ItemDiscounts: ItemDiscount[]; } interface Common { ready: boolean; Urls: Urls; Customer: Customer; Shopper: Shopper; WebSite: WebSite; Basket: Basket2; } interface BrowsingContext { ACTIONS: ACTIONS; updating: boolean; Common: Common; Page: { Product?: { ProductID: number; SkuID: number; }; }; } interface EasyCheckoutAddress { ID: number; Name: string; ContactName: string; AddressLine: string; City: string; Neighbourhood: string; Number: string; State: string; PostalCode: string; AddressNotes: string; Landmark: string; IsMainAddress: boolean; Latitude: string; Longitude: string; Owner: string; SystemProperties: any; ExtendedProperties: any; IsEditable: boolean; FirstUsageDate: any; } interface EasyCheckoutModelData { Basket: { BasketID: number; HasSeller: boolean; Sellers: Array; CreditCompetence: { Reference: any; Amount: number; ClaimedAmount: number; AvailableAmount: number; }; DeliveryGroups: Array<{ SplitGroupName: any; SplittingKey: number; DeliveryGroupID: number; Name: string; Alias: string; Description: string; ShowLogo: boolean; Type: string; GroupBidStrategy: string; ListOrderStrategy: string; DeliveryOptions: Array<{ DeliveryOptionID: string; DeliveryMethodID: string; DeliveryMethodType: string; DeliveryOptionType: any; Name: string; Alias: string; Amount: number; DiscountAmount: number; Logo: string; EstimatedTime: string; EstimatedUnit: string; OriginalEstimatedUnit: string; ETA: string; OriginalETA: string; OnlyShipToStore: boolean; IsPointOfSaleDelivery: boolean; IsPickupLocker: boolean; IsDockWithdrawalPoint: boolean; Schedule: any; PointOfSales: Array; ExtendedProperties: Array; OnlyPickUpAllItems: boolean; HasDifferentLocations: boolean; ItemsETAs: any; }>; SellerID: number; DockID: number; WarehouseID: number; GroupKey: any; GroupSkus: Array; }>; SplitDeliveryGroups: Array; SingleDeliveryOption: boolean; SelectedDeliveryOption: { DeliveryMethodID: string; Name: string; Amount: number; ETA: string; OriginalETA: string; BasketID: number; DeliveryGroupID: number; DeliveryGroupName: string; DeliveryOptionID: string; IsDockWithdrawalPoint: boolean; IsPickupLocker: boolean; IsPointOfSaleDelivery: boolean; ScheduleDisplayName: any; ScheduleTax: any; ScheduleStartTime: any; ScheduleEndTime: any; ScheduleShiftExternalID: any; ScheduleShiftID: any; ScheduleDate: any; Alias: string; Logo: string; DiscountAmount: number; Discounts: Array<{ ProductID: any; PromotionID: any; Amount: number; CouponCode: string; }>; EstimatedTime: string; EstimatedUnit: string; OriginalEstimatedUnit: string; DeliveryMethodType: string; WarehouseID: number; LocationID: any; Location: any; ExtendedProperties: Array; DeliveryOptionType: any; GroupKey: any; HasDifferentLocations: boolean; ItemsETAs: any; }; SelectedDeliveryOptionList: Array; PostalCode: string; IsPostalCodeReadonly: boolean; Awards: Array<{ PromotionID: number; Amount: number; Message: string; BasketAwardType: string; RangeType: any; FreeItemDataSource: Array; MustRequireFreeItemSelection: boolean; MustSelectFreeItemWhenAvailable: boolean; }>; Discounts: Array; Payments: Array; ItemDiscounts: Array<{ Amount: number; CouponCode: string; Message: string; ProductID: number; PromotionID: number; Reference: string; Type: string; }>; DeliveryDiscounts: Array<{ Reference: string; Amount: number; Message: string; CouponCode: string; Type: string; ProductID: number; PromotionID: number; ExternalItemsIdentifier: any; ExternalPromotionName: any; }>; GiftCertificates: Array; Coupons: Array; DeliveryAmount: number; DeliveryDiscountAmount: number; DeliveryLoyaltyProgramPoints: number; DiscountAmount: number; SubTotal: number; Total: number; LoyaltyCardsList: Array; LoyaltyCardAmount: number; LoyaltyCardPaymentAmount: number; IsFreeShipping: boolean; TaxAmount: number; TaxationAmount: number; MinETADays: number; MaxETADays: number; DeliveryETADays: number; HasAnyAvailableWrapping: boolean; HasAnyWishlist: boolean; HasAnyCustomization: boolean; ProductAdditionals: Array; IsValid: boolean; HasAnyOutOfStockItem: boolean; HasPartiallyAnyOutOfStockItem: boolean; HasLoyaltyProgram: boolean; LoyaltyProgramTotalOfProductPoints: number; PaymentTerms: Array; Items: Array<{ Additionals: Array; Awards: Array; BasketItemID: number; BasketItemValidation: { IsValid: boolean; RequiredQuantity: number; SimilarDestinationUrl: any; Status: any; }; BasketPrice: number; BrandName: string; CatalogItemType: number; CategoryName: string; CategoryUrl: string; Customizations: Array; Discounts: Array<{ Reference: string; Amount: number; Message: string; CouponCode: string; Type: string; ProductID: number; PromotionID: number; ExternalItemsIdentifier: any; ExternalPromotionName: any; }>; HasCustomization: boolean; HasLoyaltyProgram: boolean; HasPromotion: boolean; HasSkuOptions: boolean; HasNestedServices: boolean; ImagePath: string; IsFreeShipping: boolean; IsMergedItem: boolean; IsPreviousItem: boolean; IsWishlistItem: boolean; ListPrice: number; LoyaltyProgramPoints: number; Name: string; Nested: Array; Priority: number; ProductAdditionalID: number; ProductAdditionalIndex: number; ProductID: number; ProductTypeID: number; Quantity: number; RetailPrice: number; SKU: string; SkuID: number; SkuName: string; SkuOptions: Array; SpecialType: string; SubCategoryName: string; SubCategoryUrl: string; SubTotal: number; Tax: number; TaxationAmount: number; UrlFriendly: string; GiftCertificateProductData: { Email: any; Name: any; Message: any; }; IsRemovableItem: boolean; IsEditableItem: boolean; Wishlist: { WishlistID: number; Hash: string; Name: any; UrlFriendly: any; WishlistDefinitionID: number; WishlistDefinitionName: any; Url: string; AvailableQuantity: number; DeliveryAddressID: any; }; Seller: { SellerID: any; HasSeller: boolean; SellerName: any; ETA: number; DeliveryAmount: number; HasDeliveryOptions: boolean; HasLimits: boolean; PurchaseLimit: { SalesSubTotalLimit: any; SalesUnitLimit: any; SalesSubTotalMaximum: any; SalesUnitLimitMaximum: any; Evaluation: any; }; }; PaymentTermID: number; CustomerRelation: { CustomerID: number; AddressID: number; Name: any; TradingName: any; }; Warehouses: Array; Product: { IsUndeliverable: boolean; IsGiftCertificate: boolean; CatalogItemBehavior: string; SKU: string; }; IsDeliverable: boolean; }>; }; Checkout: { CustomerRelation: any; HasAddresses: boolean; Addresses: Array<{ ID: number; Name: string; ContactName: string; AddressLine: string; City: string; Neighbourhood: string; Number: string; State: string; PostalCode: string; AddressNotes: string; Landmark: string; IsMainAddress: boolean; Latitude: string; Longitude: string; Owner: string; SystemProperties: any; ExtendedProperties: any; IsEditable: boolean; FirstUsageDate: any; extended: string; }>; HasEligibleCustomers: boolean; EligibleCustomers: Array<{ HasItems: boolean; CustomerID: number; Name: string; DocumentNumber: string; CustomerType: string; TradingName: any; HasMainAddress: boolean; HasMultipleAddresses: boolean; MainAddress: { ID: number; Name: string; ContactName: string; AddressLine: string; City: string; Neighbourhood: string; Number: string; State: string; PostalCode: string; AddressNotes: string; Landmark: string; IsMainAddress: boolean; Latitude: string; Longitude: string; Owner: string; SystemProperties: any; ExtendedProperties: any; IsEditable: boolean; FirstUsageDate: any; }; SelectedAddress: any; IsPurchasable: boolean; }>; HasBillingAddresses: boolean; BillingAddresses: Array; HasReadonlySelectedAddress: boolean; HasDeliveryAddress: boolean; DeliveryAddressID: number; DeliveryAddress: EasyCheckoutAddress; HasBillingAddress: boolean; BillingAddressID: number; BillingAddress: EasyCheckoutAddress; IsCheckoutPaymentSavingEnabled: boolean; HasInstantPricePaymentTerm: boolean; PaymentGroups: Array<{ Title: string; Description: string; PaymentGroupID: number; PaymentTermID: number; Alias: string; Order: number; Items: Array<{ PaymentMethodID: number; ImagePath: string; GroupPaymentMethodAlias: string; Title: string; Description: string; Alias: string; PaymentProviderID: number; Type: string; Provider: string; MaxInstallments: number; MaxInstallmentsNoInterest: number; MinInstallmentAmount: number; LoyaltyProgramPoints: number; Installments: Array<{ InterestRate: number; InterestType: string; VariationAmount: number; VariationAmountPercentage: number; VariationType: string; Times: number; Amount: number; Total: number; TotalNoInterest: number; LoyaltyProgramPoints: number; TaxationAmount: number; IOFAmount: number; IOFPercentage: number; PaymentGroup: string; PaymentType: string; Provider: string; }>; AvailableDownPaymentMethods: Array; IsDownPaymentEnabled: boolean; DownPaymentMinBasketTotalAmount: number; MaximumDownPaymentPercentage: number; MinimumDownPaymentPercentage: number; SavedItems: Array; MercadoPagoSettings: { PublicKey: string; }; SteloSettings: { ClientID: any; Url: any; }; PayPalTransparentSettings: { IsValid: boolean; ErrorMessage: any; PayPalId: any; AccessToken: any; RedirectUrl: any; Mode: any; RememberedCards: any; BasketHash: any; }; DepositSettings: any; PagSeguroSettings: { IsValid: boolean; SessionID: any; AppID: any; AppKey: any; AuthorizationCode: any; UseSandbox: boolean; UseApplicationModel: boolean; }; MoipSettings: { PublicKey: any; }; RedePaySettings: { ClientID: any; }; PagarMeSettings: { ApiKey: any; ApiEncryptionKey: any; }; BrasPagSettings: { IsFraudAnalysisActive: boolean; FingerPrintOrgID: any; IsRedShield: boolean; FingerPrintMerchantID: any; CurrentVersion: number; ProviderIdentifier: any; BP3DSv2: any; }; ViaVarejoSettings: { PublicKey: any; }; CieloV3Settings: { BaseUrl: any; IsFraudAnalysisActive: boolean; ProviderOrgId: any; ProviderMerchantId: any; ProviderIdentifier: any; }; GenericExternalSettings: { PartnerIdentifier: any; }; MoneyPlusSettings: { CreditBalanceAmount: number; HasEnoughCredit: boolean; }; }>; }>; MultiplePaymentGroups: Array; MultiplePaymentSettings: { AllowMultipleCreditCards: boolean; MaxCreditCardsByPaymentType: number; AllowMultiplePayments: boolean; IsMultiplePaymentsActive: boolean; GeneralMinimumAmount: number; PaymentProviderMinimumAmount: number; }; PaymentConfig: { IsJustClickActive: boolean; }; PlaceHolder: any; OrderSplitSettings: { SplitBySeller: boolean; SplitByCustomerRelation: boolean; SplitByPaymentTerm: boolean; SplitByProductDefinition: boolean; }; CustomerID: number; SalesRepresentativeID: any; HasReadonlySalesRepresentative: boolean; Providers: Array; IsOneClickBuyActive: boolean; SelectedDeliveryMethod: number; DeliveryMethods: Array<{ Selected: boolean; Text: string; Value: string; }>; SelectedInstallmentMethod: number; InstallmentMethods: Array<{ Selected: boolean; Text: string; Value: string; }>; Promotions: Array<{ PromotionID: number; Amount: number; Message: string; }>; ItensPromotions: Array<{ PromotionID: number; ProductID: number; Amount: number; Message: string; }>; RequiresLatLong: boolean; HasNewAddress: boolean; ShouldFillNewAddress: boolean; CanCompletePurchase: boolean; PaymentCreditCardInfos: Array; SelectedPointOfSale: number; TrafficSource: any; CheckoutSkin: any; }; Customer: { CustomerID: number; ShopperTicketID: string; SessionID: string; IsAuthenticated: boolean; IsAnonymous: boolean; IsGuest: boolean; Name: string; SurName: string; CustomerType: string; Email: string; CreatedDate: string; CustomerGroupID: any; CustomerImpersonationUserName: string; Scenario: { Tags: Array; ShopperScenarioID: Array; }; Session: { Collection: {}; Path: string; }; Wishlist: { WishlistID: number; Name: any; WishlistDefinitionID: number; WishlistDefinitionName: any; WishlistMode: string; }; CustomerStatusRole: { PurchaseIsNotAllowed: boolean; LoginIsNotAllowed: boolean; AddressManagementIsNotAllowed: boolean; }; HasSeller: boolean; HasSalesRepresentative: boolean; Seller: any; SalesRepresentative: any; StorePurchasingMode: string; JsonWebToken: any; IsEmailConfirmed: boolean; MustConfirmEmail: boolean; ModeratedSellers: any; }; CustomerData: { Cnpj: string; Cpf: string; Contact: { Phone: string; Phone2: string; CellPhone: string; Fax: string; }; Gender: string; BirthDateExtended: string; }; Data: boolean; Order: { Total?: number; }; } type EasyCheckout = { ModelData: EasyCheckoutModelData; }; interface EzGACfg { Urls: { BaseUrl: string; FullBaseUrl: string; ParentBaseUrl: string; }; Config: { Store: { Name: string; UrlThumbEmail: any; CanonicalBaseUrl: string; Phone: string; EmailFrom: string; EmailFromDisplayName: string; GeneralText: any; Email: string; HomeTitle: string; MetaAuthor: string; HomeMetaDescription: string; HomeMetaKeywords: any; BingKey: any; GoogleKey: string; GoogleAnalyticsTracking: string; GoogleTagManager: any; GoogleTagManagerWidgetVersion: string; GoogleApiKey: any; FacebookKey: any; EbitStoreID: any; EbitStoreName: any; BuscapeStoreID: any; EbitIsEnabled: boolean; FavIcon: string; Field1: any; Field2: any; Field3: any; Field4: any; Field5: any; Field6: any; Field7: any; Field8: string; Field9: string; Field10: any; Field11: any; Field12: any; Field13: any; Field14: any; Field15: any; Field16: any; Field17: any; Field18: any; Field19: any; Field20: any; EnableSignup: boolean; LoadAsyncAssets: boolean; ZoomIsEnabled: boolean; ZoomID: any; }; Application: { UseReCaptchaInLoginPage: boolean; UseReCaptchaInPasswordRecoveryProcess: boolean; UseReCaptchaInSignUpProcess: boolean; UseReCaptchaInCouponProcess: boolean; SessionTimeout: string; UseNewBrowsingContextUrl: boolean; UseNewBrowsingContextCache: boolean; }; Email: { TimeOutDuplicateEmail: string; }; }; Shopper: { IsAuthenticated: boolean; }; UAS: string; ready: boolean; Debugging: number; Order?: { OrderNumber: string; Total: string; DeliveryAmount: string; PaymentMethods: Array<{ PaymentMethodID: number; Status: string; TransactionID: string; PaymentType: string; Alias: string; Title: string; Description: string; ImagePath: string; Installments: number; InstallmentAmount: number; PaidAmount: number; RefundedAmount: number; GroupPaymentMethodAlias: string; PaymentSlip: any; Pix: { PixCode: string; PixQrCodeUrl: string; ExpirationTime: string; IsExpired: boolean; ExpirationDate: string; }; GenericExternal: { RedirectUrl: string; }; CreditCard: { Identifier: string; TransactionNumber: any; AuthorizationCode: any; ReceiptCode: any; Holder: any; Number: any; SecurityCode: any; ExpirationMonth: number; ExpirationYear: number; }; Deposit: { Identifier: string; Account: any; Agency: any; PaymentBankID: number; CNPJ: any; BusinessName: any; DaysToExpire: number; IntegrationID: any; MinAmount: number; IsExpired: boolean; ExpirationDate: string; HasPaymentReceiptFile: boolean; BankFebrabanCode: any; }; Properties: Array; }>; Items: Array<{ id: number; code: number; name: string; category: string; brand: string; price: string; quantity: string; }>; }; ProductDetail?: { brand: string; category: string; id: number; name: string; price: string; }; } interface VariantsContext { MaximumQtyAllowed: string; MinimumQtyAllowed: string; StockBalance: string; availability: string; buyBox: Record; handlingDays: number; isInventoryAvailable: boolean; isPromotion: string; isPurchasable: boolean; name: string; options: VariantOptionContext[]; price: string; priceBase: string; priceDescription: string; productID: string; sku: string; } interface VariantOptionContext { id: string; name: string; title: string; value: string; } interface MediaDisplayerWidgetData { index: number; mediaPath: string; variationPath: string; } declare global { interface Window extends LinxCommerceWindow { } }