import { IDisposable } from "../Interfaces/IDisposable"; import { Nullable } from "../types"; import { MaterialType, SceneEditor, SceneEditorOptions } from "./SceneEditor"; export type MaterialEditorOptions = SceneEditorOptions & {}; export declare enum EditorMeshType { Box = 0, RoundedBox = 1, Sphere = 2, Plane = 3, Cylinder = 4, RoundedCylinder = 5, Torus = 6, Knot = 7, Ribbon = 8, Custom = 9 } export type MaterialCreatedEventHandler = () => void; export type MaterialTextureInfo = { materialID?: string; fileObjectID?: number; imageUrl?: string; }; export declare class MaterialEditor extends SceneEditor implements IDisposable { private _zkMaterial; private _material; private _meshType; private _mesh; private _materialCreatedListeners; private _filesInput; get zkMaterial(): Nullable; get material(): Nullable; protected constructor(options?: MaterialEditorOptions); static createMaterialEditorAsync(options?: MaterialEditorOptions): Promise; protected deleteComponents(): void; protected deleteEditorMaterial(): void; protected deleteEditorMesh(): void; dispose(): void; createEmptySceneAsync(): Promise; createEditorMaterial(name?: string, type?: MaterialType | "ShaderMaterial", group?: string): Nullable; protected applyEditorMaterial(): void; protected replaceSceneAsync(newScene: BABYLON.Scene): Promise; private createShaderMaterial; private createEditorMaterialFromJson; protected createEditorMeshAsync(): Promise; setEditorMeshType(meshType: EditorMeshType): Promise; updateMaterialModelAsync(): Promise; private getEditorMaterialJson; setMaterialModel(zkMaterial: Zakeke.Material, type?: MaterialType | "ShaderMaterial"): void; protected getTexturesUploadUrl(materialID: string): string; loadEditorMaterialTextureFiles__(filesToLoad: File[], type: string, onSuccess?: () => void, onError?: (reason: any) => void): void; loadEditorMaterialTextureFiles(filesToLoad: File[], type: string, onSuccess?: () => void, onError?: (reason: any) => void): void; private setEditorMaterialTextureImage; private setEditorMaterialCubeTextureImages; protected fireMaterialCreatedEvent(): void; addMaterialCreatedListener(listenerFunction: MaterialCreatedEventHandler): void; loadFiles(event: any, onSuccess: () => void, onError: (reason: string) => void): void; }