import { BatchedMesh, Material, Mesh } from 'three'; export interface AutoBatchedCandidate { source: Mesh; value: T; } export interface AutoBatchedMeshBatch { proxy: BatchedMesh; values: T[]; usesInstanceColor: boolean; ownedMaterial?: Material; } interface CreateAutoBatchedMeshOptions { minInstances: number; maxInstancesPerBatch: number; } export interface AutoBatchedMeshResult { batches: AutoBatchedMeshBatch[]; batchedValues: Set; } export declare function getAutoBatchedMaterialKey(source: Mesh): string | null; export declare function getAutoBatchedMaterialColor(source: Mesh): number | null; export declare function createAutoBatchedMeshes(candidates: AutoBatchedCandidate[], options: CreateAutoBatchedMeshOptions): AutoBatchedMeshResult; export {};