/**
 * 1 - collect visible meshes
 * 2 - figure out how to render a given mesh
 */
export class ShadedGeometryRendererContext {
    /**
     * @readonly
     * @type {AbstractRenderAdapter[]}
     */
    readonly adapters: AbstractRenderAdapter[];
    /**
     * Performs maintenance on the context, mainly to check the hash tables for changes
     * @return {Generator}
     */
    maintain(): Generator;
    /**
     *
     * @param {number} index
     * @param {AbstractRenderAdapter} adapter
     */
    setAdapter(index: number, adapter: AbstractRenderAdapter): void;
    /**
     *
     * @param {number} index
     * @returns {boolean}
     */
    removeAdapter(index: number): boolean;
    /**
     *
     * @param {THREE.Object3D[]} destination
     * @param {number} destination_offset
     * @param {THREE.WebGLRenderer} renderer
     * @param {CameraView} view
     * @param {BVH} bvh
     * @param {EntityComponentDataset} ecd
     */
    collect(destination: THREE.Object3D[], destination_offset: number, renderer: THREE.WebGLRenderer, view: CameraView, bvh: BVH, ecd: EntityComponentDataset): number;
    dispose(): void;
}
import { AbstractRenderAdapter } from "./adapters/AbstractRenderAdapter.js";
//# sourceMappingURL=ShadedGeometryRendererContext.d.ts.map