import { IfcFileIndex } from './BimIfcIndex';
import { BimCoreApiClient } from './client/BimCoreApiClient';
import { Discipline } from './discipline';
import { Failure } from '../fail';
import { Matrix } from './babylonjs-maths-import';
/**
 * Represents the failure result when reading an IFC file index fails.
 */
export type IfcFileIndexReadFailure = Failure<{
    /**
     * Status of the HTTP request that failed.
     */
    httpStatus: number;
    /**
     * Gives the reason for the failure.
     */
    reason: string;
    /**
     * The URL that was being fetched when the failure occurred.
     */
    url: string;
}>;
/**
 * Handles fetching and parsing .idx files to create IfcFileIndex instances.
 */
export declare class IfcFileIndexReader {
    private readonly bimApi;
    private static readonly _tmp;
    constructor(bimApi: BimCoreApiClient);
    /**
     * Fetches an .idx file from the given URL and creates an IfcFileIndex instance.
     *
     * @param indexUrl - The URL of the .idx file to fetch
     * @param discipline - The discipline to associate with the index
     * @param transform - Optional transform to apply to all transformations in the IFC
     * @returns A Promise that resolves to an IfcFileIndex instance or a failure result
     */
    read(indexUrl: URL, discipline: Discipline, transform?: Matrix): Promise<IfcFileIndex | IfcFileIndexReadFailure>;
    private processIndexData;
    private getBabylonBboxPointsFromIfcMinMaxToRef;
}
//# sourceMappingURL=IfcFileIndexReader.d.ts.map