import type { BmtModelData } from "../Loaders/BmtLoader";
import type { IfcWorkerGeometryChunk, IfcWorkerLoadOptions } from "./IFCWorker";
import type { WorkerProgressEvent } from "./ProgressUtils";
export type IfcWorkerModelSource = ArrayBuffer | File | string;
export type IfcWorkerClientOptions = IfcWorkerLoadOptions & {
    collectChunks?: boolean;
    onChunk?: (chunk: IfcWorkerGeometryChunk) => void;
    onProgress?: (progress: WorkerProgressEvent) => void;
    terminateOnComplete?: boolean;
    worker?: Worker;
};
export type IfcWorkerLoadedModels = Record<number, BmtModelData>;
export declare function loadIfcModelsInWorker(sources: IfcWorkerModelSource | IfcWorkerModelSource[], options?: IfcWorkerClientOptions): Promise<IfcWorkerLoadedModels>;
export declare function createIfcWorker(): Worker;
