import type { Scene } from "three"; import { InstancedMesh, Matrix4 } from "three"; export interface InstancedMeshPoolOptions { initialCapacity?: number; capacityStep?: number; } export declare class InstancedMeshPool { private readonly scene; private readonly initialCapacity; private readonly capacityStep; private readonly entries; private readonly descriptors; private nextHandler; constructor(scene: Scene, options?: Partial); isValidHandler(handler: number): boolean; sortMeshes(baseRenderOrder: number, compare: (a: InstancedMesh, aTag: string, b: InstancedMesh, bTag: string) => number): void; sortInstances(compare: (matrixA: Matrix4, matrixB: Matrix4, tag: string) => number): void; destroy(): void; private getOrCreateEntry; private growEntry; private sortEntryInstances; }