import * as THREE from 'three'; import { CubeFace } from '../types/cube'; interface TileCubeTree { maxLevel: number; children: TileCubeNode[]; } interface TileCubeNode { level: number; face: CubeFace; position: THREE.Vector2; size: number; box: THREE.Box3; parent: TileCubeNode | null; children: TileCubeNode[]; } declare function createTileCubeTree(level: number): TileCubeTree; declare function traverseTileCubeNode(nodeOrTree: TileCubeTree | TileCubeNode, callback: (node: TileCubeNode) => false | void): void; export { createTileCubeTree, traverseTileCubeNode }; export type { TileCubeTree, TileCubeNode };