import type { Box3 } from 'three'; export type ChildrenList = [ T | undefined, T | undefined, T | undefined, T | undefined, T | undefined, T | undefined, T | undefined, T | undefined ]; /** * A generic octree spatial structure. */ export type Octree = T & { volume: Box3; parent?: Octree; children?: ChildrenList>; }; /** * Creates an octree node with the given volume and parent. */ export declare function create(value: T, volume: Box3, parent?: Octree): Octree; /** * Performs a depth-first traversal of the octree, applying the callback to each traversed node. * If the callback returns `false` for a given node, the children of this node are not traversed. */ export declare function traverse(root: Octree, callback: (value: Octree) => boolean): void; /** * Traverse the root node, populating the children list of the node, then recursively populating * the children list of each newly created children, and so on. */ export declare function populate(node: Octree, callback: (node: Octree) => ChildrenList> | undefined): Octree; //# sourceMappingURL=Octree.d.ts.map