import { spec, Downloader } from '@galacean/effects'; import type { Engine, Renderer, GeometryProps } from '@galacean/effects'; export declare class JSONConverter { renderer: Renderer; keepIBLData: boolean; newScene: spec.JSONScene; engine: Engine; downloader: Downloader; treeInfo: TreeInfo; constructor(renderer: Renderer, keepIBLData?: boolean); processScene(sceneData: string | Record): Promise; setImage(newScene: spec.JSONScene, oldScene: spec.JSONScene): void; setTexture(newScene: spec.JSONScene, oldScene: spec.JSONScene): Promise; setComponent(newScene: spec.JSONScene, oldScene: spec.JSONScene): void; setItem(newScene: spec.JSONScene, oldScene: spec.JSONScene): void; setComposition(newScene: spec.JSONScene, oldScene: spec.JSONScene): void; private loadJSON; private loadBins; private loadMipmapImage; private createSkyboxComponent; private createMeshComponent; private createItemsFromTreeComponent; private createLightComponent; private createAnimationComponent; private getMaterialData; private setupMaterial; private getTextureData; private getTransformData; private setupBoneData; } declare class TreeInfo { tree2NodeList: Record; nodeList2Tree: Record; nodeId2Node: Record; node2Path: Record; add(treeItem: spec.VFXItemData, treeNodeList: spec.VFXItemData[]): void; setNodePath(node: spec.VFXItemData): void; getTreeNodeListByTreeId(id: string): spec.VFXItemData[]; getTreeNodeListByNodeId(id: string): spec.VFXItemData[]; getTreeItemByNodeId(id: string): spec.VFXItemData; getTreeNode(treeId: string, nodeIndex: number): spec.VFXItemData; getAllTreeNodeList(): spec.VFXItemData[]; getNodePath(id: string): string; } export interface ModelData { vertices: spec.TypedArray; uvs: spec.TypedArray; normals: spec.TypedArray; indices: spec.TypedArray; name: string; } export declare function getGeometryDataFromOptions(geomOptions: GeometryProps): spec.GeometryData; export declare function getGeometryDataFromPropsList(geomPropsList: GeometryProps[]): spec.GeometryData | undefined; export {};