import * as THREE from 'three'; import { ContextManager, Observable } from '@zcomponent/core'; import { Object3D } from './Object3D'; export interface SceneConstructorProps { /** @zprop * @zdefault 0 */ renderPriority: number; } /** * * Represents a 3D scene, extending the basic Object3D component. This class manages * scene-specific settings such as render priority and automatic clearing options, interfacing with the ThreeSceneContext. * * * Root element: [THREE.Scene](https://threejs.org/docs/index.html#api/en/scenes/Scene) * * @zcomponent * @zicon group * @zgroup Advanced * @ztag three/Object3D/Group/Scene * @zparents three/Object3D/Group/** */ export declare class Scene extends Object3D { element: THREE.Scene; private _sceneContext; /** * Constructs a Scene instance, setting up the scene context and initializing scene properties like render priority. * * @param {ContextManager} mgr - The context manager. * @param {SceneConstructorProps} props - Constructor properties including the render priority for the scene. */ constructor(mgr: ContextManager, props: SceneConstructorProps); /** * Observable property to control whether the scene is automatically cleared at the beginning of each render. * @zprop * @zgroup Scene * @zgrouppriority 20 * @zdefault false */ autoClear: Observable; /** * Observable property to control whether the depth buffer is automatically cleared at the beginning of each render. * @zprop * @zgroup Scene * @zgrouppriority 20 * @zdefault true */ autoClearDepth: Observable; /** * Disposes of the scene context and calls the base dispose method. */ dispose(): never; }