/** @packageDocumentation
 * @module Tiles
 */
import { ByteStream, Id64String } from "@itwin/core-bentley";
import { Point3d, Transform } from "@itwin/core-geometry";
import { ElementAlignedBox3d } from "@itwin/core-common";
import { IModelConnection } from "../IModelConnection";
import { Mesh } from "../common/internal/render/MeshPrimitives";
import { RenderSystem } from "../render/RenderSystem";
import { GltfMeshPrimitive } from "../common/gltf/GltfSchema";
import { BatchedTileIdMap, GltfReader, GltfReaderResult, ShouldAbortReadGltf } from "./internal";
/**
 * Deserializes a tile in [b3dm](https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification/TileFormats/Batched3DModel) format.
 * @internal
 */
export declare class B3dmReader extends GltfReader {
    private _range;
    private _isLeaf;
    private _batchTableLength;
    private _transformToRoot?;
    private _batchTableJson?;
    private _pseudoRtcBias?;
    private _batchIdRemap;
    private _colors?;
    private readonly _modelId;
    static create(stream: ByteStream, iModel: IModelConnection, modelId: Id64String, is3d: boolean, range: ElementAlignedBox3d, system: RenderSystem, yAxisUp: boolean, isLeaf: boolean, tileCenter: Point3d, transformToRoot?: Transform, isCanceled?: ShouldAbortReadGltf, idMap?: BatchedTileIdMap, deduplicateVertices?: boolean): B3dmReader | undefined;
    private constructor();
    read(): Promise<GltfReaderResult>;
    protected readBatchTable(mesh: Mesh, json: GltfMeshPrimitive): void;
}
//# sourceMappingURL=B3dmReader.d.ts.map