import { Engine } from "./Engine"; import { Scene } from "./Scene"; import { AssetPromise } from "./asset/AssetPromise"; /** * Scene manager. */ export declare class SceneManager { readonly engine: Engine; /** * Get the scene list. */ get scenes(): ReadonlyArray; /** * Add scene. * @param scene - The scene which want to be added */ addScene(scene: Scene): void; /** * Add scene at specified index. * @param index - specified index * @param child - The scene which want to be added */ addScene(index: number, scene: Scene): void; /** * Remove scene. * @param scene - The scene which want to be removed */ removeScene(scene: Scene): void; /** * Load and activate scene. * @param url - the path of the scene * @param destroyOldScene - whether to destroy old scene * @returns scene promise */ loadScene(url: string, destroyOldScene?: boolean): AssetPromise; /** * Merge the source scene into the target scene. * @remarks the global information of destScene will be used after the merge, and the lightingMap information will be merged. * @param sourceScene - source scene * @param destScene - target scene */ mergeScenes(sourceScene: Scene, destScene: Scene): void; /** * @deprecated * Please use `scenes` instead. * * Get the first scene. */ get activeScene(): Scene; set activeScene(scene: Scene); }