import { IDisposable } from "../../Interfaces/IDisposable"; import { Nullable } from "../../types"; import { MeshDesignManager } from "./MeshDesignManager"; export declare class SceneDesignManager implements IDisposable { private _scene; private _zkScene; private _zkModel; private _zkDesign; private _rotation; private _showDesign; private _grids; private _meshDesignManagers; private _renderingNeededListeners; private _designNotifyMessageListeners; private _designRemoveMessageListeners; private _designEventMessages; private _meshDesignManagersRefreshing; get showDesign(): boolean; set showDesign(value: boolean); get rotation(): number; set rotation(value: number); constructor(scene: BABYLON.Scene, zkScene: Zakeke.Scene, zkModel: MPlaza.Model, zkDesign: MPlaza.Design, showDesign?: boolean); dispose(): void; private init; isForModels(scene: BABYLON.Scene, zkModel: MPlaza.Model, zkDesign: MPlaza.Design): boolean; private getDefaultModelScene; private getModelSceneMeshSide; refreshAsync(): Promise; private isValidEffectForMesh; refreshMeshDesignAsync(meshID: string, submeshID?: number, effect?: MPlaza.ModelSceneMeshDesignEffect): Promise; getMeshDesignMananger(mesh: BABYLON.AbstractMesh, subMesh: Nullable): Nullable; clearMeshDesignManagers(): void; setCustomizerGrids(grids: MPlaza.Grid[]): void; getItemsInfo(): MPlaza.ItemInfo[]; execOnMeshManagersContainingItem(guid: string, func: (manager: MeshDesignManager) => Promise): Promise; removeItem(guid: string): void; addItemText(settings: any, sideID: number): void; addItemImage(imageID: number, sideID: number): Promise; setItemText(guid: string, text: string): void; setItemItalic(guid: string, italic: boolean): void; setItemBold(guid: string, bold: boolean): void; setItemColor(guid: string, color: string): void; setItemFontFamily(guid: string, fontFamily: string): void; setItemImage(guid: string, image: any): Promise; setItemTextOnPath(guid: string, areaId: number, value: boolean): void; removeItemImage(guid: string): void; setDesignVisibility(meshId: string, visibile: boolean): void; getDesignItemsJson(): string; getDesignID(): number; private fireRenderingNeededEvent; addRenderingNeededListener(listenerFunction: () => void): void; 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; translateDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, dx: number, dy: number): void; rotateDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, angle: number, centerX: number, centerY: number): void; scaleDesignView(mesh: BABYLON.AbstractMesh, submesh: Nullable, hor: number, ver: number, centerX: number, centerY: number): void; setDesignViewTextureUVChannelAsync(mesh: BABYLON.AbstractMesh, submesh: Nullable, uvChannel: number): Promise; setDesignViewFormFactorAsync(mesh: BABYLON.AbstractMesh, submesh: Nullable, percWidth: number, percHeight: number): Promise; connectMeshToModelSideAsync(meshID: string, submeshID: number, sideID: number): Promise; expandCanvasMeshes(): void; contractCanvasMeshes(): void; }