import { UxModalService } from '@aurelia-ux/modal'; import { ShopFetchDetailBase } from './shop-fetch-detail-base'; import { Global } from '../global'; import { AdminProductModel, ProductPart, LockAction } from 'aurelia-shop'; import { I18N } from 'aurelia-i18n'; import { ActionsMenuService } from './../components/actions-menu-service'; export declare class Product extends ShopFetchDetailBase { private i18n; private actionsMenuService; restockingDelay: number; restockingDelayUnit: 'hours' | 'days'; private vatCodes; averagePackagePrice: number; usages: { model: string; key: string; }[]; shouldApplyReplacement: boolean; private preventUpdateProp; constructor(global: Global, modalService: UxModalService, element: Element, i18n: I18N, actionsMenuService: ActionsMenuService); init(resetProductsParts?: boolean): Promise; private actionsMenuButton; openActionsMenu(): Promise; duplicateProduct(): Promise; deleteProduct(): Promise; openDialog(productId?: string): Promise; updateProp(propNames: string | string[]): Promise; findAllProductUsage(): Promise; replaceProductInProductParts(): Promise; nbOutOfStock: number; nbOrdered: number; nbStock: number; nbGettingReady: number; itemsFetched: boolean; fetchItems(): Promise; openEditProductInfo(product: AdminProductModel): Promise; openEditProductStatusPrice(product: AdminProductModel): Promise; openEditProductStock(product: AdminProductModel): Promise; totalParts(productsParts: ProductPart[]): number; private showProductsParts; openEditProductParts(product: AdminProductModel): Promise; isProductsPartsLocked: boolean; setIsProductsPartsLocked(): boolean; lastLockActionText: string; setLastLockActionText(lastAction: LockAction): Promise; exportProductsParts(): Promise; }