import { QuadScalarVertexData } from "../../Geometry/Primitives/QuadVertexData"; import { VoxelFaces } from "../../../Math"; import { QuadVerticies } from "../../Geometry/Geometry.types"; import { ProtoMesh } from "../../Geometry/Proto/ProtoMesh"; import { VoxelMeshBVHBuilder } from "../Geometry/VoxelMeshBVHBuilder"; import { Vec3Array, Vector3Like, Vector4Like } from "@amodx/math"; import { VoxelCursorInterface } from "../../../Voxels/Cursor/VoxelCursor.interface.js"; import { DataCursorInterface } from "../../../Voxels/Cursor/DataCursor.interface.js"; import { VoxelGeometryBuilderCacheSpace } from "./VoxelGeometryBuilderCacheSpace"; declare class VoxelVars { textureIndex: number; overlayTextures: Vector4Like; light: QuadScalarVertexData; ao: QuadScalarVertexData; animation: QuadScalarVertexData; level: QuadScalarVertexData; reset(): void; } export declare class VoxelModelBuilder { id: string; materialIndex: number; space: VoxelGeometryBuilderCacheSpace; voxel: VoxelCursorInterface; nVoxel: DataCursorInterface; /**The current world position */ position: Vector3Like; /**The current local origin */ origin: Vector3Like; mesh: ProtoMesh; bvhTool: VoxelMeshBVHBuilder | null; vars: VoxelVars; dataCalculated: Record; condiotnalGeometryData: Record>; lightData: Record>; effects: Record; constructor(id: string, materialIndex: number); bounds: { min: Vec3Array; max: Vec3Array; }; _indexStart: number; startConstruction(): void; endConstruction(): boolean; _boundsUpdate: boolean; updateBounds(bounds: [Vec3Array, Vec3Array]): void; calculateFaceData(direction: VoxelFaces): true | undefined; clearCalculatedData(): void; clear(): this; } export {};