/**
 * @module vim-loader
 */
import { G3d, G3dMesh, G3dMaterial, MeshSection } from 'vim-format';
import { InstancedMesh } from './instancedMesh';
export declare class InstancedMeshFactory {
    materials: G3dMaterial;
    constructor(materials: G3dMaterial);
    createTransparent(mesh: G3dMesh, instances: number[]): InstancedMesh;
    createOpaque(mesh: G3dMesh, instances: number[]): InstancedMesh;
    createOpaqueFromVim(g3d: G3d, mesh: number, instances: number[]): InstancedMesh;
    createTransparentFromVim(g3d: G3d, mesh: number, instances: number[]): InstancedMesh;
    createFromVimx(mesh: G3dMesh, instances: number[], section: MeshSection, transparent: boolean): InstancedMesh;
    createFromVim(g3d: G3d, mesh: number, instances: number[] | undefined, section: MeshSection, transparent: boolean): InstancedMesh;
    private createGeometry;
    private computeIndices;
    private computeVertices;
    private computeColors;
    private setMatricesFromVimx;
}
