/**
 * @module vim-loader
 */
import { Vimx, WebglScene } from '../..';
import { G3dSubset } from './g3dSubset';
export type LoadSettings = {
    /** Delay in ms between each rendering list update. @default: 400ms */
    updateDelayMs: number;
    /** If true, will wait for geometry to be ready before it is added to the renderer. @default: false */
    delayRender: boolean;
};
export type LoadPartialSettings = Partial<LoadSettings>;
/**
 * Manages geometry downloads and loads it into a scene for rendering.
 */
export declare class SubsetRequest {
    private _subset;
    private _uniques;
    private _nonUniques;
    private _opaqueMesh;
    private _transparentMesh;
    private _synchronizer;
    private _meshFactory;
    private _meshes;
    private _pushedMesh;
    private _disposed;
    private _started;
    private _scene;
    getBoundingBox(): import("three").Box3;
    constructor(scene: WebglScene, localVimx: Vimx, subset: G3dSubset);
    dispose(): void;
    start(settings: LoadPartialSettings): Promise<void>;
    private nextFrame;
    private mergeMesh;
    private instanceMesh;
    private updateMeshes;
}
