/** UI-neutral runtime inspection and transient visual effects. */ import "@babylonjs/core/Layers/effectLayerSceneComponent.js"; import { Color3 } from "@babylonjs/core/Maths/math.color.js"; import type { Node } from "@babylonjs/core/node.js"; import type { Scene } from "@babylonjs/core/scene.js"; export interface RuntimeNodeFilter { removeNamePatterns?: readonly string[]; flattenNamePatterns?: readonly string[]; excludeClassNames?: readonly string[]; excludeHelpers?: boolean; includeDisabled?: boolean; } export interface RuntimeNodeDescriptor { id: string; uniqueId: number; name: string; className: string; entityId: string | null; enabled: boolean; visible: boolean; children: readonly RuntimeNodeDescriptor[]; } export interface RuntimeNodeStatistics { meshes: number; transformNodes: number; lights: number; cameras: number; bones: number; other: number; total: number; triangles: number; vertices: number; } /** Produces a UI-neutral tree without mutating imported Babylon nodes. */ export declare function describeNodeTree(roots: readonly Node[], filter?: RuntimeNodeFilter): readonly RuntimeNodeDescriptor[]; export declare function calculateNodeStatistics(roots: readonly Node[]): RuntimeNodeStatistics; /** Temporary editor-only effects that restore every material/visibility value. */ export declare class RuntimeNodeEffects { #private; readonly scene: Scene; constructor(scene: Scene); setTransparent(node: Node, alpha?: number): void; clearTransparent(node: Node): void; setOutline(node: Node, color?: Color3): void; clearOutline(node: Node): void; isolate(node: Node | null): void; clearIsolation(): void; clear(): void; dispose(): void; } //# sourceMappingURL=node-tools.d.ts.map