import { IDisposable } from '../../Interfaces/IDisposable'; import { Nullable } from '../../types'; export declare const IS_ANDROID: boolean; export declare const IS_IOS: boolean; export declare class MeshDesignManager implements IDisposable { private _scene; private _sceneHelper; private _mesh; private _subMesh; private _zkModel; private _zkDesign; private _zkScene; private _isRefreshing; private _showDesign; private _viewRotation; private _designTextureResolution; private _effect; private _meshSide; private _side; static DEFAULT_SIZE: number; private _isDisposed; private _baseWidth; private _baseHeight; private _textureWidth; private _textureHeight; private _coordinatesIndex; private _currentVisibliity; private _canvasMesh; private _originalCanvasMeshPosition; private _originalCanvasMeshScaling; private _normalmapMaterial; private _originalMaterial; private _blankDataUrl; private _innerCanvasMesh; private _outerCanvasMesh; private _ownDynamicMaterial; private _dynamicMaterial; private _dynamicTexture; private _normalmapTexture; private _dynamicOpacityTexture; private _ownOldDynamicMaterial; private _oldDynamicMaterial; private _originalDiffuseTexture; private _combinedDiffuseTexture; private _originalMeshNormalmapTexture; private _originalDesignNormalmapTexture; private _meshCombinedNormalmapTexture; private _designCombinedNormalmapTexture; private _originalMeshLightmapTexture; private _originalDesignLightmapTexture; private _meshCombinedLightmapTexture; private _designCombinedLightmapTexture; private _innerShadowTexture; private _outerShadowTexture; private _context; private _canvas; private _canvasID; private _customizer; private _renderingNeededListeners; private _proceduralNormalMap; private _innerShadowGenerator; private _outerShadowGenerator; private _debouncedUpdateDynamicTexture; private _originalViewMatrixValues; private _grids; private isFirstRender; get showDesign(): boolean; set showDesign(value: boolean); get rotation(): number; set rotation(value: number); get side(): Nullable; private constructor(); getInternalCustomizer(): Nullable; static createMeshDesignManagerAsync(scene: BABYLON.Scene, zkScene: Zakeke.Scene, mesh: BABYLON.AbstractMesh, subMesh: BABYLON.SubMesh | null, zkModel: MPlaza.Model, zkDesign: MPlaza.Design, showDesign?: boolean, effect?: MPlaza.ModelSceneMeshDesignEffect, viewRotation?: number): Promise; private initAsync; isForMesh(mesh: BABYLON.AbstractMesh, subMesh: Nullable): boolean; getMeshID(): Nullable; getSubMeshIdx(): number; private getMaterialIDForDesign; private getDesignConfig; dispose(): void; private disposeOuterInnerCanvasMeshes; private disposeNormalmapMaterial; private disposeDynamicMaterial; private disposeOldDynamicMaterial; private createCanvasMeshClone; expandCanvasMesh(): void; expandCanvasMesh_old(): void; contractCanvasMesh(): void; contractCanvasMesh_old(): void; private setupMeshSide; private setupTextureSize; private checkDefaultEffect; private getAllSides; private refreshModelSide; private setupClonedObjectsAsync; private setupNormalmapMaterialAsync; private getOriginalTexture; private getMaterialDiffuseTexturePropertyName; private getMaterialOpacityTexturePropertyName; private getMaterialNormalmapTexturePropertyName; private getMaterialLightmapTexturePropertyName; private getMaterialDiffuse; private getMaterialNormalmap; private getMaterialLightmap; private getMaterialOpacity; private setMaterialLightmap; private setTextureWrapping; private setupCanvasAsync; setCustomizerGrids(grids: MPlaza.Grid[]): void; private restoreOrignalMaterial; private getMeshesUsingMaterial; private checkNormalmapMaterialAsync; private checkDynamicMaterialAsync; private setupDynamicMaterialAsync; private cloneMaterialAsync; getMeshHierarchySize(mesh: BABYLON.AbstractMesh): BABYLON.Vector3; getMeshHierarchyCenter(mesh: BABYLON.AbstractMesh): BABYLON.Vector3; refreshAsync(effect?: MPlaza.ModelSceneMeshDesignEffect): Promise; updateDynamicTextureAsync(): Promise; private updateDynamicTextureInternalAsync; private resetDynamicTextures; private updateOpacityTextureAsync; private combineDiffuseTexturesAsync; private updateNormalmapTextureAsync; private setNormalmapTextureAsync; private combineMeshNormalmapTexturesAsync; private resetMeshNormalmapTexture; private resetDesignNormalmapTexture; private combineDesignNormalmapTexturesAsync; private updateInnerShadowTextureAsync; private setInnerShadowTextureAsync; private combineDesignLightmapTexturesAsync; private removeInnerShadowTexture; private updateOuterShadowTextureAsync; private setOuterShadowTextureAsync; private combineMeshLightmapTexturesAsync; removeOuterShadowTexture(): void; private compareTextures; private dataURItoBlob; private downloadImage; setDesignMeshVisibility(visibile: boolean): void; getItemsInfo(): MPlaza.ItemInfo[]; removeItem(itemGuid: string): void; addItemText(settings: any): void; setItemText(itemGuid: string, text: string): void; setItemBold(guid: string, bold: boolean): void; setItemItalic(guid: string, italic: boolean): void; setItemColor(guid: string, color: string): void; setItemFontFamily(guid: string, fontFamily: string): void; addItemImage(imageID: number): Promise; setItemImage(guid: string, image: any): Promise; setItemTextOnPath(guid: string, value: boolean): void; removeItemImage(guid: any): void; containsItem(guid: any): boolean; addNotifyMessageListener(listener: (sideID: number, itemGuid: string, type: number, title: string, message: string, closable: boolean, requiredWidth: number, requiredHeight: number, addToCartDisabledIfVisible: boolean) => void): void; addRemoveMessageListener(listener: (sideID: number, itemGuid: string) => void): void; setEventMessages(eventMessages: any): void; private fireRenderingNeededEvent; addRenderingNeededListener(listenerFunction: () => void): void; translateDesignView(dx: number, dy: number): void; rotateDesignView(angle: number, centerX: number, centerY: number): void; scaleDesignView(hor: number, ver: number, centerX: number, centerY: number): void; setDesignViewTextureUVChannelAsync(uvChannel: number): Promise; setDesignViewFormFactorAsync(percWidth: any, percHeight: any): Promise; }