/** @packageDocumentation
 * @module Tiles
 */
import { ByteStream, Id64String } from "@itwin/core-bentley";
import { ElementAlignedBox3d } from "@itwin/core-common";
import { IModelConnection } from "../../IModelConnection";
import { Mesh } from "../../common/internal/render/MeshPrimitives";
import { RenderSystem } from "../../render/RenderSystem";
import { BatchedTileIdMap, GltfReader, GltfReaderResult, ShouldAbortReadGltf } from "../../tile/internal";
import { LayerTileData } from "../render/webgl/MapLayerParams";
/**
 * Deserializes a tile in [i3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Instanced3DModel) format.
 */
export declare class I3dmReader extends GltfReader {
    private _featureBinary;
    private _featureJson;
    private _batchTableJson;
    private _range;
    private _isLeaf;
    private _instanceCount;
    private _featureTable?;
    private readonly _modelId;
    static create(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, is3d: boolean, range: ElementAlignedBox3d, system: RenderSystem, yAxisUp: boolean, isLeaf: boolean, isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices?: boolean, tileData?: LayerTileData): I3dmReader | undefined;
    private constructor();
    read(): Promise<GltfReaderResult>;
    protected readFeatures(_features: Mesh.Features, _json: any): boolean;
    private readInstances;
}
//# sourceMappingURL=I3dmReader.d.ts.map