import type { NodeAddress, ShaderAddressContext, ShaderCompatibility, ShaderNodeLike, ShaderPathSegment } from './types.cjs'; export declare class ShaderAddressError extends Error { readonly key: string; readonly address: NodeAddress; constructor(key: string, address: NodeAddress, reason: string); } /** Direct children in Three.js serialization order. */ export declare function childrenOf(node: ShaderNodeLike): readonly ShaderNodeLike[]; /** Deterministic breadth-first node index used by public capture tooling. */ export declare function indexNodeGraph(root: ShaderNodeLike): ReadonlyMap; export declare function resolveNodePath(root: ShaderNodeLike, path: readonly number[]): ShaderNodeLike | undefined; export declare function resolveContainerValue(root: object, path: readonly ShaderPathSegment[]): unknown; /** * Runs hydration work without consuming retained-input ordinals. Nodes and textures rebuilt here * were created inside a build during capture, where the registry gives them no ordinal; counting * them would shift the key of every input the application creates afterwards. */ export declare function withoutRetainedInputs(run: () => T): T; export declare function containerRoot(key: string, context: ShaderAddressContext): object | undefined; /** Resolve an already validated manifest address against the active scene only. */ export declare function resolveNodeAddress(address: NodeAddress, context: ShaderAddressContext, compatibility: ShaderCompatibility): ShaderNodeLike;