export interface MenuElement { routerLink: string; exact: boolean; icon: string; title: string; permissions: string[]; } export interface CustomerAddress { addressType: 'DOMESTIC' | 'FOREIGN' | 'OTHER'; country: string; postcode: string; city: string; address: string; parcelNumber: string; publicPlaceName: string; publicPlaceType: string; houseNumber: string; building: string; stairway: string; level: string; door: string; id: number; touched: boolean; note: string; defaultBillingAddress: boolean; defaultShippingAddress: boolean; } export declare enum LegalStatus { INDIVIDUAL = "INDIVIDUAL", INDIVIDUAL_WITH_VAT = "INDIVIDUAL_WITH_VAT", COMPANY = "COMPANY" } export declare enum CustomerStatus { NOT_ACTIVATED = "NOT_ACTIVATED", ACTIVATED = "ACTIVATED", DEACTIVATED = "DEACTIVATED" } export declare enum CustomerStockRight { DEFAULT = "DEFAULT", NO = "NO", BOOLEAN = "BOOLEAN", EXACT = "EXACT" } export declare enum CustomerVatType { UNKNOWN = "UNKNOWN", DOMESTIC = "DOMESTIC", EU = "EU", EU_WITH_VAT = "EU_WITH_VAT", NON_EU = "NON_EU" } export interface CustomerEditor { status: CustomerStatus; legalStatus: LegalStatus; email: string; emailConfirmed: boolean; password: string; name: string; phone: string; webpage: string; adminNote: string; stockRight: CustomerStockRight; registrationDate: string; newsletter: boolean; paymentMethods: string[]; customerGroupId: number; vatNumber: string; vatType: CustomerVatType; addresses: CustomerAddress[]; deletedAddressIds: number[]; } export interface Configuration { apiBaseUrl: string; } export interface UserData { username: string; fullname: string; permissions: string[]; id: number; } export interface UserLoginResponse { userData: UserData; } export interface UserGroup { id: number; name: string; } export interface UserGroupEditor { name: string; permissions: string[]; } export interface TableRequest { first: number; rows: number; sortOrder: number; sortField: string; filters: { [key: string]: { matchMode: string; value: string; }; }; } export interface TableResponse { data: T[]; rowCount: number; } export interface User { id: number; username: string; fullname: string; active: boolean; } export interface UserEditor { username: string; fullname: string; password: string; active: boolean; userGroups: number[]; apiEnabled: boolean; apiKey: string; renewApiKey: boolean; } export interface Permission { id: string; name: string; children: Permission[]; } export interface CustomerGroup { id: number; name: string; productPriceType: string; } export interface CustomerGroupEditor { name: string; priceId: number; isDefault: boolean; } export interface Customer { id: number; name: string; billingName: string; status: CustomerStatus; } export interface Category { id: number; name: string; productCount: number; active: boolean; children: Category[]; depth: number; } export interface CategoryEditor { names: Name[]; parent: number; active: boolean; } export interface LabelValue { label: string; value: T; } export interface LabelValueNumber { label: string; value: number; } export declare enum ProductAttributeFormat { TEXT = "TEXT", NUMBER = "NUMBER", CHECKBOX = "CHECKBOX" } export interface ProductAttribute { id: number; format: ProductAttributeFormat; name: string; suffix: string; categoryNames: string[]; } export interface Name { languageId: string; name: string; } export interface ProductAttributeEditor { format: ProductAttributeFormat; names: Name[]; suffix: string; categories: number[]; hidden: boolean; } export interface TreeLike { children: TreeLike[]; name: string; id: number | string; } export interface ProductPriceType { id: number; name: string; isNet: boolean; } export interface CurrencyEditor { currency: string; currencySign: string; currencySignPosition: string; thousandSeparator: string; decimalSeparator: string; } export interface ProductPriceTypeEditor { name: string; isNet: boolean; isDefault: boolean; decimalCount: number; currencyId: number; } export interface ProductLangData { languageId: string; name: string; shortDescription: string; description: string; tags: string[]; } export interface ProductQuantitativeDiscounts { quantity: number; discount: string; } export interface ProductAttributeValue { attributeId: number; value: string; } export declare enum ProductStatus { NOT_FOR_SALE_YET = "NOT_FOR_SALE_YET", PREVIEW = "PREVIEW", FOR_SALE = "FOR_SALE", DISCONTINUED = "DISCONTINUED", DELETED = "DELETED" } export interface ProductEditor { pcode: string; status: ProductStatus; sellingUnit: number; unit: string; minimumBuyable: number; newProduct: boolean; newFromDate: string | Date; newToDate: string | Date; brand: string; barcode: string; width: number; length: number; height: number; weightNet: number; weightGross: number; vatRate: number; rating: number; externalVideoLink: string; variationGroupId: number; categories: number[]; categoriesTouched: boolean; languages: ProductLangData[]; languagesTouched: boolean; quantitativeDiscounts: ProductQuantitativeDiscounts[]; quantitativeDiscountsTouched: boolean; attributes: ProductAttributeValue[]; attributesTouched: boolean; tags: string[]; source: string; mainCategoryId: number; displayInFeed: boolean; prices: ProductEditorPrice[]; } export interface ProductEditorPrice { listPrice: number; priceId: number; salePrice: number; fixedUntil: string | Date; } export interface ProductEditorPriceExtend { productEditorPrice: ProductEditorPrice; productPriceType: ProductPriceType; } export interface ProductItem { id: number; pcode: string; name: string; status: ProductStatus; } export declare enum BannerAction { NOCLICK = "NOCLICK", URL = "URL" } export interface BlogItem { blogId: number; title: string; active: boolean; created: string; } export interface BlogEditor { title: string; slug: string; subTitle: string; content: string; active: boolean; } export interface BannerItem { id: number; action: BannerAction; name: string; date: string; active: boolean; imageUrl: string; sortIndex: number; } export interface BannerEditor { action: BannerAction; actionValue: string; name: string; date: string | Date; active: boolean; imageUrl: string; } export interface ChartDataset { label: string; backgroundColor: string; borderColor: string; data: number[]; } export interface ChartData { labels: string[]; datasets: ChartDataset[]; } export interface Chart { mode: 'bar' | 'line'; height: number; data: ChartData; } export interface OrderItem { id: number; date: string; name: string; status: string; downloaded: boolean; } export interface OrderProduct { pCode: string; productName: string; quantity: number; netPrice: number; grossPrice: number; vatRate: number; unit: string; netSumPrice: string; grossSumPrice: string; } export interface OrderEditor { date: string; legalStatus: LegalStatus; email: string; name: string; vatNumber: string; groupVatNumber: string; phone: string; shippingTitle: string; shippingNetPrice: number; shippingGrossPrice: number; shippingPoint: string; shippingAddress: CustomerAddress; paymentTitle: string; paymentNetPrice: number; paymentGrossPrice: number; billingAddress: CustomerAddress; note: string; netPrice: number; grossPrice: number; status: string; downloaded: boolean; trackingNumber: string; items: OrderProduct[]; } export interface DownloadableFile { name: string; fileName: string; mimeType: string; url: string; } export interface FaqItem { id: number; question: string; } export interface FaqEditor { question: string; answer: string; } export interface PageItem { id: number; title: string; slug: string; } export interface PageEditor { title: string; slug: string; content: string; } export interface AdminModuleGroup { title: string; modules: AdminModule[]; } export interface AdminModule { id: number; moduleName: string; title: string; enabled: boolean; lastRunTime: string; lastRunError: string; event: string; functions: string[]; } export interface AdminModuleDetail extends AdminModule { config: T; } export interface ModuleGlobizFeedImportConfigCategories { webshopCategoryId: number; globizCategoryId: number; globizCategoryPath: number[]; } export interface ModuleGoogleMerchantFeedConfig { catalogs: ModuleGoogleMerchantFeedConfigCatalog[]; } export interface ModuleGoogleMerchantFeedConfigCatalog { guid: string; name: string; type: ModuleGoogleMerchantFeedConfigCatalogType; categoryIds: number[]; productCodes: string[]; productCodesString?: string; blacklist: string[]; blacklistString?: string; url: string; priceId: number; } export declare enum ModuleGoogleMerchantFeedConfigCatalogType { CATEGORIES = "CATEGORIES", PRODUCTLIST = "PRODUCTLIST" } export interface ModuleFacebookCatalogConfig { catalogs: ModuleFacebookCatalogConfigCatalog[]; } export interface ModuleFacebookCatalogConfigCatalog { guid: string; name: string; type: ModuleFacebookCatalogConfigCatalogType; categoryIds: number[]; productCodes: string[]; productCodesString?: string; blacklist: string[]; blacklistString?: string; url: string; priceId: number; } export declare enum ModuleFacebookCatalogConfigCatalogType { CATEGORIES = "CATEGORIES", PRODUCTLIST = "PRODUCTLIST" } export interface ModuleGlobizFeedImportConfig { apiKey: string; categories: ModuleGlobizFeedImportConfigCategories[]; whiteList: string[]; blackList: string[]; priceId: number; } export interface ModuleMailNotifierConfig { onErrorEmails: string[]; onSuccessEmails: string[]; } export interface ModulePaymentSimplepayConfig { merchantId: string; merchantSecretKey: string; merchantAddress: string; merchantName: string; liveMode: boolean; } export interface ModuleProductSearchIndexerConfig { indexProductBrand: boolean; indexProductCode: boolean; } export interface ModuleGlobizFeedImportCategory { id: number; name: string; children: ModuleGlobizFeedImportCategory[]; } export interface ModuleGlobizFeedImportCategoryMatcher { globizCategoryName: string; globizCategoryPath: number[]; globizCategory: ModuleGlobizFeedImportCategory; underEditing: boolean; categoryId: number; categoryName: string; } export interface AdminModuleLog { id: number; date: string; hasError: boolean; runDuration: number; } export interface AdminModuleLogDetail { adminModuleLog: AdminModuleLog; opened: boolean; log: string; } export interface ModuleProductPricingConfig { sourcePriceId: number; targetPriceId: number; pricingRules: ModuleProductPricingConfigPricingRule[]; roundingRules: ModuleProductPricingConfigRoundingRule[]; useSalePrice: boolean; salePriceToSalePrice: boolean; } export declare enum ModuleProductPricingConfigPricingRuleCondition { ALL = "ALL", CATEGORIES = "CATEGORIES" } export declare enum ModuleProductPricingConfigPricingRuleAdditionMode { PERCENT = "PERCENT", VALUE = "VALUE" } export interface ModuleProductPricingConfigPricingRule { condition: ModuleProductPricingConfigPricingRuleCondition; value: string; additionMode: ModuleProductPricingConfigPricingRuleAdditionMode; additionValue: number; } export declare enum ModuleProductPricingConfigRoundingRuleMethod { NINE = "NINE", NINES = "NINES", ZERO = "ZERO" } export interface ModuleProductPricingConfigRoundingRule { min: number; digitCount: number; method: ModuleProductPricingConfigRoundingRuleMethod; roundingPoint: string | number; } export interface ModuleProductPricingConfigRoundingRuleExample extends ModuleProductPricingConfigRoundingRule { examples: number[]; } export interface CurrencyItem { id: number; currency: string; } export interface SettingsEmail { contactNotifyAddresses: string[]; registrationNotifyAddresses: string[]; orderNotifyAddresses: string[]; redirectAllEmailsToThisAddress: string; senderAddress: string; senderIdentity: string; } export interface SettingsSocialUrls { facebook: string; twitter: string; youtube: string; pinterest: string; instagram: string; tumblr: string; } export interface SettingsCustomers { newCustomerLegalStatus: string; activateByEmailValidation: boolean; notifyCustomerAboutActivation: boolean; } export declare enum SettingsCartItemOrder { DATE = "DATE", PRODUCT_CODE = "PRODUCT_CODE", PRODUCT_NAME = "PRODUCT_NAME" } export interface Settings { email: SettingsEmail; socialUrls: SettingsSocialUrls; defaultLanguage: string; defaultDomain: string; customers: SettingsCustomers; cartItemOrder: SettingsCartItemOrder; } export interface ProductImageInfo { title: string; slug: string; notForSaleYet: number; preview: number; forSale: number; discontinued: number; deleted: number; loading: boolean; } export interface PaymentMethodItem { id: string; title: string; info: string; netPrice: string; vatRate: number; grossPrice: string; enabled: boolean; } export interface ShippingMethodItem { id: string; title: string; info: string; enabled: boolean; prices: string[]; allowedPaymentMethods: string[]; vatRate: number; } export interface PaymentmethodEditor { title: string; info: string; netPrice: string; vatRate: number; grossPrice: string; enabled: boolean; isNet: boolean; } export interface ShippingMethodEditorPrice { min: string; netPrice: string; grossPrice: string; } export interface ShippingMethodEditor { id: string; title: string; info: string; enabled: boolean; prices: ShippingMethodEditorPrice[]; pricesTouched: boolean; allowedPaymentMethods: string[]; vatRate: number; isNet: boolean; } export interface TreeFindResult { parentNodeId: number | string | null; beforeNodeId: number | string | null; } export interface GratisConditionProduct { id: number; name: string; } export declare enum GratisConditionValueType { UNIT = "UNIT", CARTON = "CARTON", NET_PRICE = "NET_PRICE", GROSS_PRICE = "GROSS_PRICE" } export interface GratisCondition { products: GratisConditionProduct[]; sumValue: number; valueType: GratisConditionValueType; } export interface GratisGift { productId: number; productName: string; quantity: number; } export interface GratisItem { gratisId: number; minFulfilledCount: number; dateFrom: string; dateTo: string; name: string; } export interface GratisEditor { conditions: GratisCondition[]; minFulfilledCount: number; dateFrom: string | Date; dateTo: string | Date; name: string; gift: string; giftProducts: GratisGift[]; }