import * as THREE from 'three'; /** Options for {@link createBatchedBuildings}: the geometry variants, ONE shared material, and per-instance transforms. */ export interface BatchedBuildingsOptions { geometries: THREE.BufferGeometry[]; material: THREE.Material; transforms: THREE.Matrix4[]; sortObjects?: boolean; perObjectFrustumCulled?: boolean; } /** * Batch N different geometries under one shared material into a single * `BatchedMesh` draw call — city buildings, dungeon pieces, mixed props. * * @param options - Geometries, shared material, and one `Matrix4` per * instance (geometry `i % geometries.length` is used for transform `i`). * @returns The `BatchedMesh`; hide individual instances with * `setVisibleAt(id, false)`. * @remarks Buffers are sized once from the total vertex/index counts. * @see {@link createInstancedField} for the one-geometry × N case. */ export declare function createBatchedBuildings({ geometries, material, transforms, sortObjects, perObjectFrustumCulled, }: BatchedBuildingsOptions): THREE.BatchedMesh; //# sourceMappingURL=batched-buildings.d.ts.map