import { Context } from "../context";
import { BufferGeometry, InstancedMesh, Material, Mesh, Object3D } from "three";
import { GlbModelOptions } from "./glb-model";
import { Matrix4 } from "three";
export declare class InstancedModel extends Object3D {
    context: Context;
    options: GlbModelOptions[];
    subMeshes: {
        geometry: BufferGeometry;
        material: Material | Material[];
        initialMatrix: Matrix4;
    }[];
    materialOriginParams: Map<Material, {
        opacity: number;
    }>;
    constructor(context: Context, options: GlbModelOptions[]);
    loadModel(): Promise<void>;
    meshSetMaterial(object: Mesh | InstancedMesh): void;
    setOpacity(opacity: number, force?: boolean): void;
    dispose(): void;
}
