import { CanonicalMaterial } from "./canonical_material.js"; import { CanonicalMesh } from "./canonical_mesh.js"; import { ConwayGeometry, NativeTransform4x4 } from "../../dependencies/conway-geom/index.js"; import { ReadonlyUint32Array } from "./readonly_typed_array.js"; import { SceneNode, SceneNodeGeometry, SceneNodeTransform } from "./scene_node.js"; export interface SceneListener { onTransformAdded(node: SceneNodeTransform): void; onTransformUpdated(node: SceneNodeTransform): void; onTransformRemoved(node: SceneNodeTransform): void; onGeometryAdded(node: SceneNodeGeometry, transform?: SceneNodeTransform): void; onGeometryUpdated(node: SceneNodeGeometry, transform?: SceneNodeTransform): void; onGeometryRemoved(node: SceneNodeGeometry): void; } /** * Options for a scene listener */ export declare class SceneListenerOptions { readonly replayCurrentScene: boolean; readonly disableGeometryEvents: boolean; readonly disableTransformEvents: boolean; /** * Construct the options with default values as necessary * * @param replayCurrentScene * @param disableGeometryEvents * @param disableTransformEvents */ constructor(replayCurrentScene?: boolean, disableGeometryEvents?: boolean, disableTransformEvents?: boolean); /** The default options */ static defaults: SceneListenerOptions; } export interface Scene { getByNodeIndex(nodeIndex: number): SceneNode | undefined; readonly roots: ReadonlyUint32Array | ReadonlyArray; readonly conwayGeometry: ConwayGeometry; isAllSpaces(): boolean; addSceneListener(listener: SceneListener, options?: SceneListenerOptions): void; removeSceneListener(listener: SceneListener): void; } export interface WalkableScene extends Scene { getByNodeIndex(nodeIndex: number): SceneNode | undefined; readonly roots: ReadonlyUint32Array | ReadonlyArray; readonly conwayGeometry: ConwayGeometry; isAllSpaces(): boolean; addSceneListener(listener: SceneListener, options?: SceneListenerOptions): void; removeSceneListener(listener: SceneListener): void; walk(includeSpaces?: boolean): IterableIterator<[ readonly number[] | undefined, NativeTransform4x4 | undefined, CanonicalMesh, CanonicalMaterial | undefined, BaseEntityType | undefined ]>; } //# sourceMappingURL=scene.d.ts.map